Fox_light 2021-12-30 23:30 采纳率: 25%
浏览 48
已结题

#C语言#选择性地读取文件

问题:有一个文本文件,里面有3类信息:基因ID(int类型),基因名称(char),基因名称缩写(char)名称和缩写的长度每个都不一样,制表符是\t。文件里内容的格式是一行显示一个基因的三类信息,第一列是ID,第二列是名称,第三列是缩写。现在我想编一个程序把每一行第二列的基因名称读取进链表里面,其他的信息不要。应该怎么做,求大佬指点。

  • 写回答

1条回答 默认 最新

  • 神仙别闹 2021-12-30 23:39
    关注

    参考下这个例子,通过偏移量来读取对应文本

    #include<stdio.h>
    int a;
    char b,c[100];
    int main(){
        FILE * fp1 = fopen("input.txt", "r");//打开输入文件
        FILE * fp2 = fopen("output.txt", "w");//打开输出文件
        if (fp1==NULL || fp2==NULL) {//若打开文件失败则退出
            puts("不能打开文件!");
            return 0;
        }
        fscanf(fp1,"%d",&a);//从输入文件读取一个整数
        b=fgetc(fp1);//从输入文件读取一个字符
        fgets(c,100,fp1);//从输入文件读取一行字符串
         
        printf("%ld",ftell(fp1));//输出fp1指针当前位置相对于文件首的偏移字节数
         
        fputs(c,fp2);//向输出文件写入一行字符串
        fputc(b,fp2);//向输出文件写入一个字符
        fprintf(fp2,"%d",a);//向输出文件写入一个整数
         
        fclose(fp1);//关闭输入文件
        fclose(fp2);//关闭输出文件,相当于保存
        return 0;
    }
    
    
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 12月31日
  • 创建了问题 12月30日

悬赏问题

  • ¥15 无法输出helloworld
  • ¥15 高通uboot 打印ubi init err 22
  • ¥20 PDF元数据中的XMP媒体管理属性
  • ¥15 R语言中lasso回归报错
  • ¥15 网站突然不能访问了,上午还好好的
  • ¥15 有没有dl可以帮弄”我去图书馆”秒选道具和积分
  • ¥15 semrush,SEO,内嵌网站,api
  • ¥15 Stata:为什么reghdfe后的因变量没有被发现识别啊
  • ¥15 振荡电路,ADS仿真
  • ¥15 关于#c语言#的问题,请各位专家解答!