我正在使用stdin和fscanf()读取文件但是一旦达到EOF,它就不会像对待其他文件那样将单词存储到数组中。所有的单词,但最后一个单词存入我的二维数组。也许用fgets()或getchar()有更好的方法,但我不知道该怎么做。
我读的文件看起来像这样
修正案
诉讼
正义
依此类推(线条在那里,因为它们是单独的线条而且我不知道更好的格式化方式)
我的代码是这个
char c;
int column = 0;
int row = 0;
do
{
word[row][column] = c;
column++;
while(fscanf(stdin, "%c", &c)==1 && c != '\n')
{
word[row][column] = c;
column++;
}
row++;
column = 0;
}while(fscanf(stdin, "%c", &c) != EOF);
//here i'm trying to store the last line separately but it doesn't work
while(fscanf(stdin, "%c", &c)==1)
{
word[row][column] = c;
column++;
}