我正在尝试阅读外部文本文件。该文件包含以下形式的数字和单词:
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);
答案 0 :(得分:1)
您应该可以通过fscanf
实现这一目标#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main( int argc, char ** argv ) {
FILE * source_file;
char * buffer = malloc( 100 * sizeof(char));
char ret = '\0';
source_file = fopen("TENLINES.TXT","r+");
do {
ret = fscanf(source_file, "%s", buffer);
printf("%s\n", buffer);
} while (ret != EOF);
return 0;
}
答案 1 :(得分:0)
您是如何使用fscanf
的?以下代码将起作用:
char s1[100];
int i1;
int i2;
char s2[100];
while (!feof (file))
{
// Should check return value.
fscanf (file, "%s %d %d %s", s1, &i1, &i2, s2);
printf ("%s %d %d %s\n", s1, i1, i2, s2);
}