在c语言中如何打开二进制文件

#include<stdio.h>voidmain(){FILE*p;p=fopen("file1.txt","wb");fputs("china",p);}我这里不是用... #include <stdio.h>
void main()
{
FILE *p;
p=fopen("file1.txt","wb");
fputs("china",p);
}
我这里不是用"wb“(二级制)写入的吗?
怎么我打开file1.txt文件还是显示出"china“啊?
请大家告诉我应该怎么修改啊?
展开
 我来答
天云小店
推荐于2017-09-12 · TA获得超过2.8万个赞
知道大有可为答主
回答量:3281
采纳率:91%
帮助的人:785万
展开全部

文本文件和二进制文件就是一个声明,指明了你应该以什么方式(文本方式/二进制)打开这个文件,用什么函数读写这个文件(读写函数),怎么判断读到这个文件结尾。


具体的说:

C规定了标准输入输出函数库,用fopen()函数打开文件。fopen()函数的调用方式一般为:

FILE *fp;  // 定义一个文件类型的指针变量fp
fp=fopen(文件名,使用文件方式);


使用文件方式见下表:

"r"(只读)        为输入打开一个文本文件    

"w"(只写)      为输出打开一个文本文件    

"a"(追加)       为追加打开一个文本文件    

"rb"(只读)      为输入打开一个二进制文件    

"wb"(只写)     为输出打开一个二进制文件    

"ab"(追加)      为追加打开一个二进制文件    

"r+"(读写)      为读/写打开一个文本文件    

"w+"(读写)     为读/写创建一个文本文件    

"a+"(读写)      为读/写打开一个文本文件    

"rb+"(读写)     为读/写打开一个二进制文件    

"wb+"(读写)   为读/写创建一个二进制文件    

"ab+"(读写)    为读/写打开一个二进制文件    

fox000002
推荐于2017-09-04 · TA获得超过3827个赞
知道大有可为答主
回答量:2356
采纳率:97%
帮助的人:1187万
展开全部
不知lz希望得到什么

二进制的意思是按照数据的原有二进制值写入

与文本模式的差别是不处理行尾

“china” 的 ASCII 就是这样子,还能是什么
追问
那能不能得到一大堆数字啊?
追答
如果只是显示的话,用 WinHex 或 UltraEdit 之类的 HEX 模式

如果是要文本模式显示数字,那只有自己进行转换了,转换成数字后写入
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gamespy1991
2011-02-26 · TA获得超过1262个赞
知道小有建树答主
回答量:1636
采纳率:0%
帮助的人:1215万
展开全部
char只有一字节,二进制形式就是ASCII码。你用int就会看出不一样了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
L_o_o_n_i_e
2011-02-26 · TA获得超过4.2万个赞
知道大有可为答主
回答量:8507
采纳率:38%
帮助的人:5226万
展开全部
二进制文件,你写入ASCII 字符串,打开来看 仍然是可识别的字符串。
如果你用别的编码,例如 unicode,
你用 notepad 打开,仍然可以识别。因为 notepad 认识 unicode。
下面是写unicode 文件:
#include <stdio.h>
void main()
{
FILE *p;
char str[]="China";
int i,x;
p=fopen("file2.txt","wb");
x = 0xfeff;
fwrite(&x,2,1,p);
for (i=0;i<strlen(str);i++){
x = (str[i] - 0x20) | 0xff00;
fwrite(&x,2,1,p);
};
fclose(p);
}
-------
你可以自己编密码,例如:
x = (str[i] - 0x30) | 0xff00; 就不 认识了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
123820668
2011-02-26 · 超过17用户采纳过TA的回答
知道答主
回答量:75
采纳率:0%
帮助的人:40万
展开全部
你是用二进制写入没有错,但你是用二进制读吗??
追问
是啊 可以做到吗?
追答
可以的,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式