在C中向字符串添加字符串

CRS*_*CRS 0 c string file

我正在制作一个购物清单程序,我想要包含一个用户输入字符串,将其放在文本文件的下一个可用行中.眼下这将字符串的文件,但随后放入随机字符的数量的空格,然后,如果我输入其他的东西,它不会对下一行.

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

thu*_*eys 6

这一行应该是:

    // strlen instead of sizeof
    fwrite(addItem, strlen(addItem), sizeof(char), a); 
Run Code Online (Sandbox Code Playgroud)

您的代码总是写入20个字符,而不是字符串所包含的实际字符数.