从文件中读取时忽略前两个词

F_Stain

我的程序正在读取一个包含一些信息(名称、产品、费率、时间)的 txt 文件。我需要复制最后两个并将它们写在其他地方。代码必须是 C 语言。

这是我到目前为止所写的,但由于前两个字段(名称、产品)的随机长度,它无法正常工作。

int a=25;
while (!feof(fp)){
    fseek(fp,a,SEEK_SET);
    fgets(ratetime,100,fp);
    fputs(ratetime,fp2);
    a=a+40;     
}
塞巴斯蒂安

如果您已经知道文件的格式,则可以使用fscanf,如下所示:

FILE* fp = fopen("input_file.txt", "r");
char name[BUFFSIZE];
char product[BUFFSIZE];
int rate;
char time[BUFFSIZE];

while(fscanf(fp, "%s %s %d %s", name, product, rate, time) != EOF)
{
    //copy them in a proper data stucture
}

fclose(fp);

编辑:BUFFSIZE是字符串大小的上限,如果你知道的话。如果没有,您已经逐个字符读取并解析它们

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章