请教高手:数组或结构体怎样输入输出文本文件中?(纯C语言)

时间:2020-12-05 10:06:26
大家好!
    请问用纯C语言如何实现:a. 从tab字符分隔的文本文件中逐行逐个变量地纯入二维数组?
                           b. 把二维数组反向存入一个文本文件?
                           c. 若是结构体怎样实现上述操作?
    
    敬请举例说明,愿佛祖和上帝同时保佑你!

    我积分不多,只有区区30分,愿全部奉上。敬请大家踊跃相助。

    

7 个解决方案

#1



#include <stdio.h>

struct DATA
{
    int a;
    int b;
}

int main()
{
    DATA data1, data2;
    data1.a=10;
    data1.b=20;
    data2.a=100;
    data2.b=200;

    FILE* fp = fopen("data.txt", "wb"); //注意这里的wb,文件打开方式要用二进制
    fwrite((void*)&data1, sizeof(DATA), 1, fp);
    fwrite((void*)&data2, sizeof(DATA), 1, fp);
    fclose(fp);

    fp = fopen("data.txt", "rb");
    DATA data[2] = {0};
    fread((void*)data, sizeof(DATA), 2, fp);
    fclose(fp);

    return 0;
}


随手写的,没测试。基本上就是注意用二进制方式来操作文件就行了。

#2


fopen 只读
fread
fclose
fopen 只写
fwrite 
fclose

#3


     感谢二位赐教,学习中... ...

#4


    最后采用的方法:在一个头文件中定义一个结构体, 把所有常量统统装入结构体。主程序中包含该头文件即可。非常感谢大家献计献策,祝大家健康平安。

#5


学习。。。。

#6


该回复于2011-03-23 08:56:17被版主删除

#7


fread fwrite  涉及  对二进制操作好一些  对文本文件的操作很容易出现一些乱码  纠结中 

#1



#include <stdio.h>

struct DATA
{
    int a;
    int b;
}

int main()
{
    DATA data1, data2;
    data1.a=10;
    data1.b=20;
    data2.a=100;
    data2.b=200;

    FILE* fp = fopen("data.txt", "wb"); //注意这里的wb,文件打开方式要用二进制
    fwrite((void*)&data1, sizeof(DATA), 1, fp);
    fwrite((void*)&data2, sizeof(DATA), 1, fp);
    fclose(fp);

    fp = fopen("data.txt", "rb");
    DATA data[2] = {0};
    fread((void*)data, sizeof(DATA), 2, fp);
    fclose(fp);

    return 0;
}


随手写的,没测试。基本上就是注意用二进制方式来操作文件就行了。

#2


fopen 只读
fread
fclose
fopen 只写
fwrite 
fclose

#3


     感谢二位赐教,学习中... ...

#4


    最后采用的方法:在一个头文件中定义一个结构体, 把所有常量统统装入结构体。主程序中包含该头文件即可。非常感谢大家献计献策,祝大家健康平安。

#5


学习。。。。

#6


该回复于2011-03-23 08:56:17被版主删除

#7


fread fwrite  涉及  对二进制操作好一些  对文本文件的操作很容易出现一些乱码  纠结中