tec*_*k23 3 c++ visual-studio visual-c++ visual-studio-2013
我在德克萨斯理工大学的编程课上,在上学期学习Python之后,我终于进入了C++课程.当我们今天在课堂上制作一个HelloWorld程序时,我和其他一些人得到了Microsoft Visual Studio 2013告诉我们使用scanf_s而不是scanf,就像教师在他的程序中使用的一样.下面是我的代码.
#include <stdio.h>
int main(){
int i,j;
float x,y;
scanf("input a number: %d %d %f %f", &i, &j, &x, &y);
printf("print numbers a : %d \n",i);
printf("print numbers a : %10.3d \n", i);
printf("print numbers a : %-10.3d", i);
fflush(stdin);
getchar();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
该_s系列函数是由微软提供的标准库函数"安全"的变种.许多标准库函数不被认为是安全的,因为它们不允许或不要求用户防止缓冲区溢出.该_s功能的替代品,允许/需要的缓冲区溢出保护(通常这意味着他们需要一个额外的参数指定要传递的缓冲区的大小,但在的情况下,scanf_s()它要求的格式字符串包含每个宽度说明%c,%C,%s或%S参数).
您可以通过_CRT_NONSTDC_NO_WARNINGS在项目设置中设置define 来禁用这些警告.或者,如果您选择,请切换到这些_s功能(但请注意,这样做会将您的代码绑定到Microsoft运行时库[或C11;请参阅下面的注释],并使其不可移植).
| 归档时间: |
|
| 查看次数: |
9969 次 |
| 最近记录: |