24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 591  |  回复: 7
当前主题已经存档。
【有奖交流】积极回复本帖子,参与交流,就有机会分得作者 joe1103 的 1 个金币
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

joe1103

银虫 (小有名气)

[交流] 【求助】如何用c读取文本文件

我现在想用c测试文本文件上的二进制数,可是现在连读取数据都解决不了,:dnd:麻烦大家帮我看看我的代码
#define _CRT_SECURE_NO_DEPRECATE
#include

void main()
{
        int i;
        bool a[3]={1,0,0};
        bool b[3];
FILE *fp1, *fp2;

fp1=fopen("1.txt","w+";
for(i=0;i<=2;i++)
fprintf(fp1,"%d",*(a+i));
fclose(fp1);
fp1=fopen("1.txt","r+";
//for(i=0;i<=2;i++)
//fscanf(fp1,"%d",*(b+i));
//b[3]=fgetc(fp1);
fread(b,sizeof(int),3,fp1);
fclose(fp1);
fp2=fopen("2.txt","w+";
for(i=0;i<=2;i++)
fprintf(fp2,"%d",*(b+i));
fclose(fp2);

}

写数据已经可以了,但是读数据试了各种方法还不行。
还有bool型的用%d表示吗?,对bool型的理解也不是很好,望高人指教
由于小弟金币不多,我将拿出我一半的财富给帮助我的人
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

joe1103

银虫 (小有名气)

引用回帖:
Originally posted by ms98 at 2009-8-10 20:04:
C99,郁闷得...那标准至今没看过...我跟不上时代了...
至于读的问题,就在fscanf(fp1,"%d",*(b+i));参数上,改了马上就好。后面两种方法(fgets,fread)感觉lz是逼急了用用,结果问题更大。其实fscan ...

你说的fscanf参数上怎么改?
6楼2009-08-11 05:33:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 8 个回答

ms98


rjjy(金币+1,VIP+0):谢谢交流! 8-10 18:15
一起床就看到这么郁闷的代码,扔一堆代码,自己不调试的?
1、诡异的代码,虽然号称是c语言,却充满了c++的注释和类型。个人怀疑根本产生了一个cpp文件,检查先;
2、c语言中没有bool型,如果有人告诉你有,那你就别再听他的了。只能用int型。如果能通过编译,检查你的源文件后缀是否为cpp。
3、for(i=0;i<=2;i++)
fprintf(fp1,"%d",*(a+i));
这个代码产生的文本你有看过?如果看过,检查它是被当成1个整数还是3个。
4、for(i=0;i<=2;i++)
   fscanf(fp1,"%d",*(b+i));
*(b+i)是什么?一个指针还是一个整型变量?记住scanf的参数需要一个指针。
5、fread(b,sizeof(int),3,fp1);
这错得没边了,fread读取的时候,是按照ascii来读的,它不关心文本中数据类型。换句话说,你在文本中看到的100,它不一定这么认为。这个应用里面,结合你的知识程度,不要用它。
6、w+  r+,“+”干什么?又读有写?其实没有必要,只读只写就挺好。
7、b[3]=fgetc(fp1);
这句错得...
8、#define _CRT_SECURE_NO_DEPRECATE
没必要,感觉像最近比较流行的实训班似得,言必称标准,非得怎么开头...
9、放在代码中表示什么?
发帖子要检查啊
10、其它还有很多次要问题。
总得来说,lz函数用得很多,那句话怎么说?“贪多嚼不烂”。暂时先fscanf,fprintf熟悉一下,然后研究研一下ascii码,这些问题就会有新认识了。
2楼2009-08-10 11:02:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

tjyl

金虫 (正式写手)


rjjy(金币+1,VIP+0):谢谢交流! 8-10 18:16
1、C可以用// 注释的,C99标准里添加的。

2、C99中bool定义在stdbool.h里,其实就是 #define _Bool bool,但_Bool本质上就是无符号整数吧,只是只能取0和1,赋一个非0和1的值也会被转换到1的。如果想打印的话 %u吧。

3、LZ的代码真让人看的头晕,感觉在看火星语啊

4、打开了文件还是检查一下是否成功打开吧。

[ Last edited by tjyl on 2009-8-10 at 15:52 ]
3楼2009-08-10 15:51:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ms98

★ ★
0112358(金币+2):感谢阁下长久以来对程序版的支持,谢谢回帖应助。
C99,郁闷得...那标准至今没看过...我跟不上时代了...
至于读的问题,就在fscanf(fp1,"%d",*(b+i));参数上,改了马上就好。后面两种方法(fgets,fread)感觉lz是逼急了用用,结果问题更大。其实fscanf就非常强大,恩..
现在发现一个现象,就是初学者根本不能要求代码规范和标准,只有等他做个大工程,自己领悟。
下学期教c语言,16章,不到16个大节的课...谁给指条明路?
4楼2009-08-10 20:04:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 一志愿211 初试270分 求调剂 +8 谷雨上岸 2026-03-23 9/450 2026-03-29 01:00 by 我是小康
[考研] 283求调剂 +3 A child 2026-03-28 3/150 2026-03-28 15:41 by ms629
[考研] 0703化学求调剂 +9 奶油草莓. 2026-03-22 10/500 2026-03-28 13:30 by 唐沐儿
[考研] 317求调剂 +6 十闲wx 2026-03-24 6/300 2026-03-28 13:27 by Iveryant
[考研] 求调剂 +6 芦lty 2026-03-25 7/350 2026-03-28 13:13 by 唐沐儿
[考研] 085600 286分 材料求调剂 +7 麻辣鱿鱼 2026-03-27 8/400 2026-03-28 12:17 by zllcz
[考研] 085405 考的11408求各位老师带走 +3 Qiu学ing 2026-03-28 3/150 2026-03-28 09:19 by 乐呵呵的追梦人
[考研] 材料与化工考研调剂 +17 孅華 2026-03-22 17/850 2026-03-28 08:35 by WYUMater
[考研] 308求调剂 +7 墨墨漠 2026-03-25 7/350 2026-03-27 14:47 by 狂炫麦当当
[考研] 081200-11408-276学硕求调剂 +4 崔wj 2026-03-26 4/200 2026-03-27 08:04 by chemisry
[考研] 342求调剂 +3 加油a李zs 2026-03-26 3/150 2026-03-27 00:29 by wxiongid
[考研] 336材料求调剂 +7 陈滢莹 2026-03-26 9/450 2026-03-27 00:20 by wxiongid
[考研] 321求调剂 +6 Ymlll 2026-03-24 6/300 2026-03-26 20:50 by 不吃魚的貓
[考研] 085602化学工程求调剂。 +4 平乐乐乐 2026-03-26 4/200 2026-03-26 17:57 by fmesaito
[考研] 材料专硕 335 分求调剂 +4 拒绝冷暴力 2026-03-25 4/200 2026-03-25 18:45 by haxia
[考研] 考研一志愿苏州大学初始315(英一)求调剂 +3 sbdksD 2026-03-24 4/200 2026-03-25 18:16 by xcjcqu
[考研] 求b区院校调剂 +4 周56 2026-03-24 5/250 2026-03-25 17:12 by yishunmin
[考研] 0854人工智能方向招收调剂 +4 章小鱼567 2026-03-24 4/200 2026-03-25 13:29 by 2177681040
[考研] 求调剂一志愿武汉理工大学材料工程(085601) +5 WW.' 2026-03-23 7/350 2026-03-24 14:50 by sprinining
[考研] 328求调剂 +4 LHHL66 2026-03-23 4/200 2026-03-23 14:55 by lbsjt
信息提示
请填处理意见