c - 在 C 中将字符串添加到文本文件

标签 c string file

我正在制作一个杂货 list 程序,我想包含一个用户输入字符串,将其放在文本文件的下一个可用行中。现在,这会将字符串添加到文件中,但它随后会为多个空格放入随机字符,然后,如果我输入其他内容,它就不会出现在下一行。

void AddToFile(FILE *a) {
    char addItem[20];
    printf("Enter item: ");
    scanf("%s", &addItem);
    fwrite(addItem, sizeof(addItem), 1, a);
}

最佳答案

这一行应该是:

    // strlen instead of sizeof
    fwrite(addItem, strlen(addItem), sizeof(char), a); 

您的代码始终写入 20 个字符,而不是字符串的实际字符数。

关于c - 在 C 中将字符串添加到文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10209400/

相关文章:

c - CS50 Pset5(Speller)编译问题

java - context.getFilesDir() 时文件目录不存在

c - 读取txt文件中的特定字符串并将该字符串转换为int C

c - C语言逐行查找文件中的单词

无法从 OpenGL 中的着色器访问先前渲染的纹理

c - Search a String in a string(字符串由用户输入)

c - Turbo C strcpy 库函数

android - 获取 Uri Android 的真实路径

python - 使用 ReGex 、Python 匹配表达式

python - 删除 Python 中变量和字符串之间的空格