/ *****读取用户输入的条目* /
int input_string(char *prompt, char *s, int count)
{
char c;
printf(prompt);
while ((c = getchar()) != EOF
&& c != '\n' && count > 0) {
*s = c;
s++;
count--;
}
*s = '\0';
return 0;
}
是c编程的新手。我正在阅读一个简单的数据库程序和一个例子。我遇到了这段代码打印(提示); ,我的编译器给出了关于它的错误,
格式字符串不是字符串文字(可能不安全)[-werror,-wformat-security]。
请帮助阻止错误。
答案 0 :(得分:2)
与你的代码一样,
printf(prompt);
错误,因为它为string formatting attacks开放了条款。您可以用
替换它puts(prompt);
如果您不打算在输出中使用任何转换说明符(和相关参数)。