问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言中指针读写文件,问什么记事本都是乱码,怎么改呢?

发布网友 发布时间:2022-04-29 02:10

我来回答

2个回答

热心网友 时间:2022-04-15 08:26

从代码看,在Windows平台是有大概率会乱码,假如你的商品信息数组里存放了换行就一定会乱码。

主要问题在文件的打开方式不对,fread, fwrite函数最好以二进制模式打开文件,即打开方式加上b,即(rb, wb)。在unix/Linux系统应该没问题。以下是问题解释:

二进制和文本模式的区别

1.在windows系统中,文本模式下,文件以""代表换行。若以文本模式打开文件,并用fputs等函数写入换行符"\n"时,函数会自动在"\n"前面加上"\r"。即实际写入文件的是"" 。

2.在类Unix/Linux系统中文本模式下,文件以"\n"代表换行。所以Linux系统中在文本模式和二进制模式下并无区别。

扩展资料

ffopen为C语言编程中所需的一个常用语言,多数用来打开文件。其调用的一般形式为:文件指针名=fopen(文件名,使用文件方式);其中,‘’文件指针名”必须是被说明为FILE 类型的指针变量,文件名”是被打开文件的文件名;“使用文件方式”是指文件的类型和操作要求。“文件名”是字符串常量或字符串数组。

基本介绍函数功能:打开一个文件函数原型:FILE * fopen(const char * path,const char * mode);相关函数:open,fclose,fopen_s,_wfopenfopen所需库:返回值:文件顺利打开后,指向该流的文件指针就会被返回。如果文件打开失败则返回NULL,并把错误代码存在errno 中。一般而言,打开文件后会做一些文件读取或写入的动作,若打开文件失败,接下来的读写动作也无法顺利进行,所以一般在fopen()后作错误判断及处理。

参数说明:参数path字符串包含欲打开的文件路径及文件名,参数mode字符串则代表着流形态。

mode有下列几种形态字符串:

r 以只读方式打开文件,该文件必须存在。

r+ 以可读写方式打开文件,该文件必须存在。

rb+ 读写打开一个二进制文件,允许读写数据。

rw+ 读写打开一个文本文件,允许读和写。

w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。

w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。

a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留)

a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 (原来的EOF符不保留)

wb 只写打开或新建一个二进制文件;只允许写数据。

wb+ 读写打开或建立一个二进制文件,允许读和写。ab+ 读写打开一个二进制文件,允许读或在文件末追加数据。

热心网友 时间:2022-04-15 09:44

你是想让第一个作为帐号,第二个为密码吗fgets你指定了大小100,而且没有那么多字符能读取,所以它把整个文件中的所有字符都读取了,包含空格,gets()也一样
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
2024年四川570分能考上什么大学? 2024年四川文科560分能考上什么大学? 2024年广东561分能考上什么大学? 2024年江苏历史类561分能考上什么大学? 在形ABC中,角A.B.C所对的边分别为a.b.c,且acosB+bcosA=2c cos 求... ...B、C的对边分别为a、b、c,已知acosB+bcosA=2(bcosC+ccosB).(1... ...b、c的对边分别为a、b、c,且acosb+bcosa=2cosc 在△ ABC中,角A、B、C所对的边分别为a、b、c,已知b=cosA,c=2cosB,试... 在△ABC中,角A,B,C所对的边分别为a,b,c,且满足bcosA+acosB=2ccosC,△... ...对应的边分别为a、b、c,且满足aCOSB+bcosA=2cCOSC... 我只之前是win10系统,,换成win7之后就进不了系统了。一直是这个页面。都不知怎么整了? 我编写的C语言程序怎么执行后出现中文乱码? 老总秘书工作职责 如何退电信综合服务费? 急!C语言编程~写入文件的数据变成乱码是怎么回事? 推荐个 女扮男装的校园浪漫动漫!! 民生保险官网分红保险 如何用函数计算工龄? 有个动漫女主角是女扮男装进学校的还有身份是公主 民生保险怎么查不到保单信息了 中国电信的综合信息服务费是什么?扣了我91块钱! 民生人寿怎么查保单 请问怎么短信取消电信综合信息服务费和电信短信彩信费,要详细方法哦 女扮男装的校园爱情动漫,结局好,男女主角都要厉害,女主漂亮,男主帅 综合信息服务费是什么?能不能取消?取消对手机有影响吗? 有一部漫画讲的是一个女孩女扮男装进入学校,学校的学生会大概分成四 民生人寿保单信息怎样查询? 黄山的旅游路线怎么安排最合理? 电信怎样取消综合信息服务费 怎么取消综合信息服务 总裁秘书的工作职责 总经理秘书的工作主要是什么? 如何退电信综合服务费 房地产总经理秘书工作职责 设计一个类似于快点阅读的小程序点一下出来一句话 一个程序文件(C语言)别人编辑后传过来我打开,汉字就成乱码了,这是怎么... 求总经理助理或秘书工作范围,职责,越详细越好 我用c语言从键盘输入数据保存到文本文件中,为什么是一堆乱码,怎样解决... C语言程序中的中文会乱码,怎么解决? 秘书的工作职责是什么 C语言,为什么从文件中读取的内容后面有很多乱码?谁能帮忙解决? ...注册完后mysql数据库中汉字是乱码这个要怎么改呀(统一用的gbk编码的... 如下:为什么C语言读取文件中的数据并输出时有乱码出现?本来输入的是... 我的C语言程序运行后为什么是乱码? c语言运行结果乱码怎么解决? 谁有微信红包尾数控制器?能用吗?这是真的吗? 网络工程师属于软考中的初级还是中级呀?如果考软考(已经考过计算机四级),还有有没有必要考软考的初级 女朋友是病娇怎么办 无意中发现女友竟然是个病娇怎么办? 女朋友是病娇而且双重人格怎么办?