首页 > 代码库 > vim打开txt文件看到^@字符
vim打开txt文件看到^@字符
‘\0‘字符为不可见字符,vim编辑器会使用‘^@’字符来显示‘\0‘字符。
看如下代码:
#include <stdio.h> #include <stdlib.h> int main() { char buf[] = "hello world!"; FILE * fp = NULL; size_t ret = 0; fp = fopen("./test.txt", "a"); if (fp == NULL) { printf("fopen error!\n"); exit(-1); } ret = fwrite(buf, sizeof(char), sizeof(buf), fp); printf("ret = %zd\n", ret); fclose(fp); exit(0); }
程序执行后,会在当前目录生成一个test.txt文本文件。使用vim编辑器打开,内容如下所示:
hello world!^@
问题出现在下面这段代码:
ret = fwrite(buf, sizeof(char), sizeof(buf), fp);
这条语句把‘\0‘字符写入到了test.txt文本文件中。
将这条语句改为下面的形式:
ret = fwrite(buf, sizeof(char), strlen(buf), fp); // need <string.h>
则生成的文本文件中将不再包含‘\0‘字符。
本文出自 “渐行渐远” 博客,请务必保留此出处http://shuying.blog.51cto.com/9460406/1914275
vim打开txt文件看到^@字符
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。