我是C的新手,很抱歉,如果这是一个愚蠢的问题,但我要说我有一个包含以下内容的文件:
1 abc
2 def
3 ghi
如果我传入一个像3(或字符?)这样的整数,函数将返回一个字符串“ghi”。我不知道如何实现这一目标。
void testFunc(int num)
{
FILE *fp;
fp = fopen("testfile.txt", "r");
if(strstr??????
}
是的..我不知道我在做什么。任何人都可以提供任何指导吗?
答案 0 :(得分:2)
你可以按照这个链接,你也可以做一点谷歌。 它非常简单你应该尝试一次。 Reading c file line by line using fgetc()
答案 1 :(得分:1)
使用 fgets 读取每一行 使用 sscanf 将每行的第一个和第二个元素保存到变量中 测试数字是否为3,如果是,则打印单词。
手册页应该为您提供使用 fgets 和 sscanf
所需的所有信息答案 2 :(得分:0)
试试此代码
void testFunc(int num)
{
FILE *file = fopen ( "testfile.txt", "r" );
char line [ 128 ]; /* or other suitable maximum line size */
if ( file != NULL )
{
while ( fgets ( line, sizeof(line), file ) != NULL ) /* read a line */
{
fputs ( line, stdout ); /* write the line */
}
fclose ( file );
}
}
答案 3 :(得分:0)
//input:num, output:string, string is call side cstring area.
void testFunc(int num, char *string){
FILE *fp;
int n;
fp = fopen("data.txt", "r");
while(2==fscanf(fp, "%d %s ", &n, string)){
if(num == n){
printf("%s\n",string);
break;
}
}
fclose(fp);
return;
}