VS 调用 scanf 的正确姿势

简介: VS 调用 scanf 的正确姿势

前言:

微软的Visual Studio是一款功能强大的集成开发环境(IDE),受众广泛,但如果我们在这个环境下直接调用 输入函数 scanf 会报错,接下来跟我看看我是怎么解决这个问题的吧。

这篇文章适合使用VS的小伙伴~~~


目录

1.报错

2.临时解决

3.一劳永逸


1.报错


微信图片_20230414135646.png

这里以输入一个整数为例子,可以看到VS报的错误;


2.临时解决


其实报错中已经包含了两种解决方案:


一是用 scanf_s 来代替 scanf   但这种解决方案只在VS中适用,我们调用的这个函数在其他编译器中就不一定奏效了,考虑到更强的适普性,通常不会选择这种解决方案;

另一种就是在开头放一串 #define  _CRT_SECURE_NO_WARNINGS 1 .


#define _CRT_SECURE_NO_WARNINGS 1


解释下这个 1 是怎么回事,简单来说就是避免尴尬 。按照格式,如定义a为10,define是定义,a就相当于那一串,10就相当于那个1了。其实最后这个数字是整数就行,通常用1。


总的来说 就是声明 别给我报错了(针对scanf  strcpy  strcat等函数)。


3.一劳永逸


那我们以后是不是创建一个新的项就要先打一句 #define  _CRT_SECURE_NO_WARNINGS 1 呢? 并不,这里有一劳永逸的解决方法:


newc++file.cpp 这个文件中放入 #define  _CRT_SECURE_NO_WARNINGS 1 即可


微信图片_20230414140219.png

微信图片_20230414140317.png

微信图片_20230414140353.png

微信图片_20230414141402.png

微信图片_20230414140420.png



搜索(我用的是Everything,真的好用!!!)→ 打开路径(路径先别关) →

把目标文件粘贴到桌面 →   用 VS 打开文件 → 把那句丢到第一行,保存 →  

把修改的文件拖回原路径,替换


这样一番操作后,新建的c/cpp文件开头就都会有这一声明了,是不是很妙呢


总结:

这篇博客为VS中 scanf 等函数的调用报错问题提供了解决方案,小妙招学会了吗?

如有弄不懂的地方,欢迎提问,我会认真解答哒~~~

目录
相关文章
|
4月前
|
C语言
你真的学会了printf和scanf函数吗?
你真的学会了printf和scanf函数吗?
VS中出现的printf,scanf等函数不安全而报错的问题的全面解决方法
VS中出现的printf,scanf等函数不安全而报错的问题的全面解决方法
|
4月前
|
编译器 C语言 C++
scanf函数
该文介绍了C语言中`scanf`函数用于输入变量值,而`printf`函数用于输出变量值。`scanf`在读取数值时会自动过滤空白字符,允许数据间有空格或换行,不影响解析。`scanf`返回值表示成功读取的变量数,0表示未读取或匹配失败,EOF表示读取错误或文件结尾。常见占位符包括 `%c`(字符)、`%d`(整数)、`%f`(浮点数)、`%s`(字符串)和`%[]`(指定字符集)。对于`%c`,不会忽略空白字符,但可加空格跳过前导空白。文章还提及在VS2022中,`scanf`被认为是不安全的,推荐使用`scanf_s`,并提供了如何在VS中使用`scanf`的解决方法。
60 1
|
4月前
printf函数的返回值
printf函数的返回值
30 0
|
9月前
c中scanf函数注意点
c中scanf函数注意点
51 0
|
9月前
|
缓存
scanf和printf函数
scanf和printf函数
91 0
|
10月前
|
C语言
printf与scanf函数的返回值
printf与scanf函数的返回值
|
10月前
|
编译器 C语言 C++
关于vs中scanf()函数报错问题的解决
关于vs中scanf()函数报错问题的解决
103 0
while(~scanf(“%d“,&a)&&~a)用法
while(~scanf(“%d“,&a)&&~a)用法
88 0
|
编译器 C语言 C++
scanf返回值被忽略的原因及其解决方法(vs2019)
scanf返回值被忽略的原因及其解决方法(vs2019)
455 0