xjgcyq1 2017-05-20 23:28 采纳率: 100%
浏览 17113
已采纳

c语言 读入txt数据文件存入数组,并输出

输出文本11.txt
1,2,5,3,66,32,11,22,
34,55,8,5,6,5,4,43,
36,35,34,42,23,43,23,43,
...................
存入数组再输出保存22.txt
01,02,05,03,
66,32,11,22,
34,55,08,05,
06,05,04,43,
36,35,34,42,
23,43,23,43,
......................

  • 写回答

4条回答 默认 最新

  • shen_wei 2017-05-22 01:36
    关注
     struct Data
    {   
        int nRow[8];
    };
    
    
    
    
    int main()
    {  
        Data data[3];
    
        FILE *fp = fopen("1.txt","rb");  
        if (fp == NULL)
        {
            printf("can not open file!\n");
            exit(0);
        }
        for(int i = 0;i < 3;i ++)
        {
            int nRes = fscanf(fp,"%d,%d,%d,%d,%d,%d,%d,%d,",&data[i].nRow[0],&data[i].nRow[1],&data[i].nRow[2],
                &data[i].nRow[3],&data[i].nRow[4],&data[i].nRow[5],&data[i].nRow[6],&data[i].nRow[7]);
            if (nRes == -1)
            {
                fclose(fp);
            }
        }
        fclose(fp);
    
        fp = fopen("2.txt","w+");  
        if (fp == NULL)
        {
            printf("can not open file!\n");
            exit(0);
        }
    
        for (int i = 0;i < 3;i ++)
        {
            char czBuf[100] = {0};
            sprintf(czBuf,"%02d,%02d,%02d,%02d,\n%02d,%02d,%02d,%02d,\n",data[i].nRow[0],data[i].nRow[1],data[i].nRow[2],
                data[i].nRow[3],data[i].nRow[4],data[i].nRow[5],data[i].nRow[6],data[i].nRow[7]);
    
            fwrite(czBuf,strlen(czBuf),1,fp);
        }
        fclose(fp);
    
        return 0;
    }
    

    展开全部

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部