我正在制作一个购物清单程序,我想要包含一个用户输入字符串,将其放在文本文件的下一个可用行中.眼下这将字符串的文件,但随后放入随机字符的数量的空格,然后,如果我输入其他的东西,它不会对下一行.
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)
这一行应该是:
// strlen instead of sizeof
fwrite(addItem, strlen(addItem), sizeof(char), a);
Run Code Online (Sandbox Code Playgroud)
您的代码总是写入20个字符,而不是字符串所包含的实际字符数.