Как заполнить массив символов с помощью цикла с текстовым файлом в C - PullRequest
0 голосов
/ 21 сентября 2019

Во время работы в терминале моя цель состоит в том, чтобы сканировать текстовый файл через массив символов следующим образом: ./a.out

const int MAX = 8000;
int input = 1;
int i = 0;
char text[MAX];
while(input != 0)
{
    scanf("%c", &text[i]);
    if(text[i] == '0')
        input = 0;
    i++;
}
printf("\n%s",text);

return 0;

1 Ответ

1 голос
/ 21 сентября 2019

предложить заменить:

while(input != 0)
{
    scanf("%c", &text[i]);
    if(text[i] == '0')
        input = 0;
    i++;
}

чем-то похожим на;

// avoid 'text' overflow and
// check that call to `scanf()` was successful
while( i < (MAX-1) && scanf( "%c", &text[i] ) == 1 )
{
    // step index to next position in the array: 'text[]'
    i++;
}

тогда, наконец,

// teminate the 'text' string
text[ i ] = '\0';

// print number of characters and the actual text
// on separate lines
printf("\nNumber of Characters read: %d\n%s\n", i, text);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...