vs2017中的scanf_s
程序员文章站
2022-06-21 16:50:20
在visual studio 2017中格式化输入函数不同于其他c/c++编译器使用scanf,而是使用scanf_s。 scanf_s相比较于scanf来说更安全,因为使用scanf_s函数需要有一个缓冲参数来规定缓冲区大小,因而不会有内存越界的问题。 在使用scanf_s和scanf输入整数类型 ......
在visual studio 2017中格式化输入函数不同于其他c/c++编译器使用scanf,而是使用scanf_s。
scanf_s相比较于scanf来说更安全,因为使用scanf_s函数需要有一个缓冲参数来规定缓冲区大小,因而不会有内存越界的问题。
在使用scanf_s和scanf输入整数类型,字符类型和实数类型操作相同,而在输入字符串时有些许不同,下面我来展示一下这两个函数输入字符串时用法不同之处:
scanf
char name[n];
scanf("%s",&name);
scanf_s
char name[n];
scanf("%s",name,n);/*这里的n表示缓冲区大小,最多只能容纳n-1个字符*/