gpt4 book ai didi

c - 将 char* 传递给 printf() 调用时出错

转载 作者:太空宇宙 更新时间:2023-11-04 02:37:30 25 4
gpt4 key购买 nike

/***** 读取用户输入的条目 */

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 语言编程的新手。我正在看一个简单的数据库程序的例子,我遇到了这个代码 print(prompt); ,我的编译器给出了这个错误,

format string is not a string literal(potentially insecure) [-werror, -wformat-security].

请帮助阻止错误。

最佳答案

在你的代码中,

 printf(prompt);

不好,因为它打开了 string formatting attacks 的条款.您可以将其替换为

puts(prompt);

如果您不打算在输出中使用任何转换说明符(和相关参数)。

关于c - 将 char* 传递给 printf() 调用时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35583479/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com