【发布时间】:2011-05-14 07:09:50
【问题描述】:
我正在尝试读取外部文本文件。该文件包含以下形式的数字和单词:
hello 1239 4943 melissa
(每个元素单独一行)实际的文本文件有超过 1200 个单词。我想读取每一行并将它们存储为字符串,但 fscanf 会跳过这些数字。如何将数字读入我的程序并将它们存储为字符串?
char word[1263][13];
FILE * fh;
fh=fopen("wordlist.txt","r");
for (a=0;a<1263;a++)
{
fscanf(fh,"%s",word[a]);
}
fclose(fh);
【问题讨论】:
-
请贴出执行读取的代码,以便我们了解问题所在。
-
一般来说,
scanf和fscanf都有各自的问题。我建议使用fgets逐行读取数据,如果需要格式化,则使用sscanf。 -
我尝试了 fgets,但它似乎仍然跳过了数字,以及将换行符读入字符串中,这弄乱了我后来的代码。
标签: c