我正在使用C并尝试从文件中读取文本并将其存储在数组中供以后使用,但它似乎不起作用。它也没有给出错误。有什么问题?
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
FILE *fp;
fp = fopen("data.txt", "r");
char rida[120], str[100];
int i = 0, j = 0;
while (fscanf(fp, "%s", str[i]) != EOF)
{
rida[i] = str[i];
}
fclose(fp);
}
data.txt文件包含以下内容:
Text
Text2
Text3
Text4
Text5
答案 0 :(得分:1)
将sum(1, 2); // multi argument form
sum(1)(2); // curry form
更改为类似rida[120]
的内容,因为您似乎希望自己存储每个单词,因此您需要使用二维数组。还要使用rida[20][120]
来复制字符串,而不是赋值运算符strcpy()
:
=
答案 1 :(得分:0)
您可以使用命令行参数获得答案:
int main(int argc,char *argv[])
{
FILE *fp;
if(argc<2) return printf("Error.Not enough arguments.\n"),1;
if((fp = fopen(argv[1],"r"))==NULL) return printf("Error. Couldn't open the file.\n"),1;
char str[10][100]={""}; //Making sure to have only the scaned strings in the array
int i=0;
while ( fscanf(fp,"%s",str[i++]) != EOF);
int j=0;
while(j<i){
printf("%s\n",str[j++]);
}
fclose(fp);
return 0;
}