' '\0'字符为不可见字符,vim编辑器会使用‘^@’字符来显示'\0'字符。 看如下代码: 程序执行后,会在当前目录生成一个test.txt文本文件。使用vim编辑器打开,内容如下所示: hello world!^@ 问题出现在下面这段代码: 这条语句把'\0'字符写入到了test.txt文本文件中。 将这条语句改为下面的形式:
则生成的文本文件中将不再包含'\0'字符。 转载于:https://blog.51cto.com/shuying/1914275 '\0'字符为不可见字符,vim编辑器会使用‘^@’字符来显示'\0'字符。 看如下代码: 程序执行后,会在当前目录生成一个test.txt文本文件。使用vim编辑器打开,内容如下所示: hello world!^@ 问题出现在下面这段代码: 这条语句把'\0'字符写入到了test.txt文本文件中。 将这条语句改为下面的形式:
则生成的文本文件中将不再包含'\0'字符。 转载于:https://blog.51cto.com/shuying/1914275#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);
}ret = fwrite(buf, sizeof(char), sizeof(buf), fp);ret = fwrite(buf, sizeof(char), strlen(buf), fp); // need <string.h>
'字符为不可见字符,vim编辑器会使用‘^@’字符来显示'#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);
}ret = fwrite(buf, sizeof(char), sizeof(buf), fp);ret = fwrite(buf, sizeof(char), strlen(buf), fp); // need <string.h>
'字符。