2015-10-29 2 views
0

Я читаю текстовый файл, который содержит следующие слова:Как сохранить слова с пробелами между ними в одной строке?

hi 
there 
was it 
fuzzy man lady 

Однако каждый раз, когда я печатаю эти вне построчно я получаю следующее:

hi 
there 
was 
it 
fuzzy 
man 
lady 

Я хотел бы слово что вместе, чтобы быть на той же линии, как:

was it 
fuzzy man lady 

Вот код:

int main(int argc, char* argv []) { 

    int i = 0, line = 7; 
    char ch[200]; 

    char const* const fileName = argv[1]; 
    FILE *file = fopen(fileName,"r"); 
    while(line--){ 
     fscanf(file,"%s",ch); 
     i++; 
     printf("%s", ch); 
    } 

    fclose(file); 

    return 0; 

Я предполагаю, что \ n не распознает при обнаружении пробела или слова на новой строке. Итак, как я могу изменить это, чтобы дать желаемый результат?

Заранее спасибо.

ответ

2

Следующая строка

fscanf(file,"%s",ch); 

не читает строки текста. Он читает только одно слово.

Если вы хотите прочитать текст, используйте fgets.

fgets(ch, 200, file); 
1

fread() также может быть использован. После этого вы сможете прочитать максимум 199 символов из файла.

fread(ch, sizeof(ch[0]), sizeof(ch)/sizeof(ch[0])-1, file); 
Смежные вопросы