C 中无法添加空字符

标签 c null character

我是这个网站的初学者。

我想向我的文件添加一个空字符。

if (strcmp(is->fields[i], "\b") == 0)
{
    int len = atoi(is->fields[i + 1]);
    char bosluk = '\0';
    FILE *fp = fopen("cikis.dat", "a");
    for (int j = 0; j<len; j++)
    {
        fprintf(fp, "%c", bosluk);
    }
    fclose(fp);
}

但它不会在我的文件中添加空字符。有想法吗?

非常感谢。

最佳答案

空字符是'\0',而不是空格' ',它也用于在C中终止字符串。

char bosluk = '\0';
fprintf(fp, "%c", bosluk);

strcmp 比较两个字符串,'\b' 是一个整数常量,它不是字符串,字符串文字在 C 中用双引号定义。

更新:

FILE *fp = fopen("cikis.dat", "a");
if (strcmp(is->fields[i], "write") == 0)
{
      fprintf(fp, "Hello Hello");
}
fclose(fp);

关于C 中无法添加空字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37099761/

相关文章:

R大数据框与因子在子集时不会缩小

r - 将字符串变量分割成多个变量

c - for(;;) 是什么意思?

c - gtkmozembed 段错误

当值不为空时java分配属性

sql - NULL 与 NOT NULL 性能差异

mysql - 在 MYSQL 中创建用于更改多个字符的函数

c - c中的数组和字符串

c++ - 如何抑制::system ("del *.log"的输出)出现在控制台中

firebase - Flutter FutureBuilder会引发错误,但在仿真中它会按预期工作