首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

文件写入空字符,该如何解决

2012-03-09 
文件写入空字符请问怎样在文件中写入空字符(ASCII 为 0x00)? 一般的写函数都会以空字符\0为判断结束条件

文件写入空字符
请问怎样在文件中写入空字符(ASCII 为 0x00)? 一般的写函数都会以空字符'\0'为判断结束条件或者assert()条件。
  C语言实现。给出方法或代码都行。 
  谢谢。

[解决办法]
FILE *fo = fopen("_a","wb");
fwrite(" dddd", 8, 1,fo);//类似的这样不就行了,写好几个进去呢
fclose(fo);
[解决办法]
设个 char buff[100];
memset(buff,0x00,sizeof(buff));
fwrite(buff,1,sizeof(buff),fp);
lz试试看
[解决办法]
空字符是0x0,不是0x30,空格也不是空字符。
size_t fwrite(
const void *buffer,
size_t size,
size_t count,
FILE *stream 
);
fwrite写入的是字节数,不是字符数,不是以空字符结尾控制的,直接使用这个函数就能写入空字符。写完后用二进制工具打开就可以看到师父有0x00值了。

unsigned char buf[10];
memset(buf,0,10);
fwrite(buf,1,9,fp);

这样就可以的。
写空字符不是没写。你随便用个二进制工具打开一个exe文件看看,里头一堆的空字符。

热点排行
Bad Request.