在我的项目中,我使用数组而不是指针。我的目的是将所有字符从text.file一张一张地复制到数组中。我从互联网上找到了一些示例,但该站点对我没有用。
认为input1.txt是“abcd”,我想像这些input1 [0] = a,input1 [1] = b等。
main ()
{
FILE *f1 = fopen("input1.txt", "r");
int i;
fseek(f1, 0, SEEK_END);
int inputsize = ftell(f1); //its about text's size
char input1[inputsize];
for(i = 0; i < inputsize; i++)
{
fscanf(f1, "%c", &input1[i]);
}
printf("%c ", input1[3]);
getchar();
}
当我运行此代码时,它不会打印“d”,但会打印“6”。为什么会这样呢?我该怎么办?感谢帮助
最佳答案
您试图找到文件的末尾以获取文件的大小,但是在实际开始读取文件之前,请不要再回到文件的开头。
在循环之前插入:
fseek(f1,0,SEEK_SET);
使用此修订将代码粘贴到我的编译器中,可在我的计算机上使用
关于c - 从文本文件读入char数组[],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23591135/