24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 589  |  回复: 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的回帖

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的回帖

tjyl

金虫 (正式写手)

★ ★
wangen994(金币+2):感谢参与讨论
简单的像 http://www.china-pub.com/23985&ref=xiangguan 就讲了C99添加的一些东西。
其他的像手册式的http://www.china-pub.com/35853
http://www.china-pub.com/39842&ref=ps 也说了的。
其实主要就是添加了复数,布尔类型,支持inline函数,可以用变长数组,零长数组之类的。大都是以前GCC对ANSI C的扩展。
对于格式化的文件读入,一般说来fscanf好像也没有什么。不过很多不推荐这样,说是怕容易引起缓冲区溢出,推荐fgets和sscanf搭配起来用。http://c-faq-chn.sourceforge.net/ccfaq/node209.html 讲了的。
5楼2009-08-11 00:18:58
已阅   回复此楼   关注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的回帖

joe1103

银虫 (小有名气)

引用回帖:
Originally posted by ms98 at 2009-8-10 11:02:
一起床就看到这么郁闷的代码,扔一堆代码,自己不调试的?
1、诡异的代码,虽然号称是c语言,却充满了c++的注释和类型。个人怀疑根本产生了一个cpp文件,检查先;
2、c语言中没有bool型,如果有人告诉你有,那你 ...

你说了这么多,十分感谢,可是我还是不知道应该怎么改,请高人指路
7楼2009-08-11 05:35:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

joe1103

银虫 (小有名气)

问题已经解决了,原来是fscanf读取的数之间要有空格
8楼2009-08-11 08:12:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 joe1103 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 求收留 +3 1943443204 2026-03-28 3/150 2026-03-29 08:14 by fmesaito
[考研] 0703化学 +11 妮妮ninicgb 2026-03-27 11/550 2026-03-29 06:45 by 544594351
[考研] 322求调剂 +7 宋明欣 2026-03-27 7/350 2026-03-28 21:27 by sanrepian
[考研] 346求调剂 一志愿070303有机化学 +3 萝卜炖青菜 2026-03-28 3/150 2026-03-28 14:11 by 唐沐儿
[考研] 286求调剂 +12 PolarBear11 2026-03-26 12/600 2026-03-28 12:14 by zllcz
[考研] 0856,材料与化工321分求调剂 +12 大馋小子 2026-03-27 13/650 2026-03-28 10:56 by self2008
[考研] 材料求调剂 一志愿哈工大总分298分,前三科223分 +5 dongfang59 2026-03-27 5/250 2026-03-28 04:53 by wxiongid
[考研] 求调剂 +4 零八# 2026-03-27 4/200 2026-03-27 18:07 by yu221
[考研] 一志愿南师大0703化学 275求调剂 +4 Ripcord上岸 2026-03-27 4/200 2026-03-27 17:00 by zhyzzh
[考研] 315调剂 +4 0860求调剂 2026-03-26 5/250 2026-03-27 11:23 by wangjy2002
[考研] 314求调剂 +3 溪云珂 2026-03-26 3/150 2026-03-27 11:20 by sanrepian
[考研] 303求调剂 +6 蓝山月 2026-03-25 6/300 2026-03-25 22:47 by 418490947
[考研] 材料与化工328分调剂 +6 。,。,。,。i 2026-03-23 6/300 2026-03-25 22:30 by 418490947
[考研] 各位老师您好:本人初试372分 +5 jj涌77 2026-03-25 6/300 2026-03-25 14:15 by mapenggao
[考研] 求调剂 +3 李李不服输 2026-03-25 3/150 2026-03-25 13:03 by cmz0325
[考研] 上海电力大学材料防护与新材料重点实验室招收调剂研究生(材料、化学、电化学,环境) +4 我爱学电池 2026-03-23 4/200 2026-03-25 00:59 by 1027_324
[考研] 求调剂 +6 研研,接电话 2026-03-24 7/350 2026-03-24 17:01 by barlinike
[考研] 材料考研调剂生 +3 黄粱一梦千年 2026-03-24 3/150 2026-03-24 17:00 by barlinike
[考研] 接收2026硕士调剂(学硕+专硕) +4 allen-yin 2026-03-23 6/300 2026-03-23 15:04 by 汪!?!
[考研] 280分求调剂 一志愿085802 +4 PUMPT 2026-03-22 7/350 2026-03-22 22:13 by 星空星月
信息提示
请填处理意见