请问用纯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
fread
fclose
fopen 只写
fwrite
fclose
#3
感谢二位赐教,学习中... ...
#4
最后采用的方法:在一个头文件中定义一个结构体, 把所有常量统统装入结构体。主程序中包含该头文件即可。非常感谢大家献计献策,祝大家健康平安。
#5
学习。。。。
#6
#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
fread
fclose
fopen 只写
fwrite
fclose
#3
感谢二位赐教,学习中... ...
#4
最后采用的方法:在一个头文件中定义一个结构体, 把所有常量统统装入结构体。主程序中包含该头文件即可。非常感谢大家献计献策,祝大家健康平安。
#5
学习。。。。
#6
#7
fread fwrite 涉及 对二进制操作好一些 对文本文件的操作很容易出现一些乱码 纠结中