Я читаю текстовый файл с помощью fgets и сохраняю строку
и я печатаю эту строку, но текст не работает, как я могу решить эту проблему?
int main() {
char name[256] = "";
int a = 0, b = 0, c = 0, d = 0;
FILE *fp = 0;
fopen_s(&fp, "a.txt", "r");
if (fp == 0)
{
printf_s("can't open this file\n");
return 0;
}
std::string st;
fgets(name, 256, fp);
st += name;
printf_s("%s\n", name);
fgets(name, 256, fp);
st += name;
printf_s("%s\n", name);
fgets(name, 256, fp);
st += name;
printf_s("%s\n", st, sizeof(st));
fclose(fp);
return 0;
}
Текст "a.txt"
привет, мир строка 1 текст текст 2 строка 3 строка текст
и в этом коде я получаю несколько строк текста в char и добавляю этот текст в строку с именем st. могу ли я вставить весь текст использования fgets в строку напрямую?
std::string
неc
, насколько я знаю. Вы смешиваетеc
иc++
? - person kabanus   schedule 01.08.2018file pointer
на0
, вы должны указать его наNULL
(огромная разница) - person Alan   schedule 01.08.2018std::string
. Или вы работаете на C++, а что там со всем этим<stdio.h>
? Почемуfopen()
/fgets()
/printf()
/fclose()
? - person DevSolar   schedule 01.08.2018<stdio.h>
? Вы должны использовать<iostream>
иstd::getline
. - person DevSolar   schedule 01.08.2018