当然入门学c可以用VS,但是深入就不应该用VS(MSVC)编译器了,毕竟VS2017还没有完全支持C99(这个从VS2017没有实现变长数组可见)

但是想看c源码,还是

1. 推荐用 *nix系统

2. 再不济用 VS + WSL2

3. 没办法用Windows平台下的Mingw64

写c语言并避免程序一闪而退:

http://c.biancheng.net/view/457.html

Ps. 受人诟病的void main()可能是谭老教授的苦心,毕竟这样的程序不会一闪而过,当然还是推荐大家使用头文件stdlib.h 和函数_命令system("pause");

system();的输入参数和cmd里的命令应该是一样的

编译时报错:

1,直接双击说明就跳转到报错附件行

2,点击报错代码(直接打开微软文档官网,报错的详细和解决方案都在这里(中文))

如果是图中VCTP001错误[无法分析从行* 到 的区域中的代码],有可能是和我一样把子函数写在了主函数main()里..........

scanf_s()函数,运行时录入数据,内存错误

scanf_s()和scanf()的用法其实差别挺大的。

一个例子:

scanf_s( "%d %f %c %C %s %S", 
&i, &fp, &c, , &wc, , s, (unsigned)_countof(s), ws, (unsigned)_countof(ws) );

关于scanf_s()的用法

https://docs.microsoft.com/zh-cn/cpp/c-runtime-library/reference/scanf-s-scanf-s-l-wscanf-s-wscanf-s-l?view=vs-2017

scanf(" %d", &num)录入字符导致死循环刷屏?

只需要利用scanf返回值即可, scanf的返回值是成功录入的个数. 所以只需要

while (scanf(" %d", &num) != 1)

  getchar();

即可解决问题

在 Visual Studio 中开发代码而无需创建项目或解决方案

解决从Git里拉取的代码没有sln解决方案的问题

对 Visual Studio 中 C++ 生成系统的“打开文件夹”支持 | Microsoft Docs

从流中跳过读取一行

char * p = NULL;

fscanf(fp, "%*[^\n]", p);

*号是跳过赋值,[ ]是scanf的正则匹配,^\n在这里是指没遇到'\n'就继续录入

读取CSV文件(读取以逗号为分割的字符串)

如文件t.csv内容为

3, Cart, john, R35\n

4, 省略...

 // 读取csv的一行

 FILE * fp = fopen("t.csv", "r");

 fscanf(fp, "%u, %[^,], %[^,], %[^\n], "
, &id, &Category, &Name, &Model);

注意是%[^,]    而不是 %[^,]s

想要写try-catch-finally语句?

VS(MSVC)提供了对c的拓展

https://docs.microsoft.com/zh-cn/cpp/c-language/try-finally-statement-c?view=vs-2019

如果想要通用的,而非MSVC编译器,可以自己写异常处理,以下为参考资料

https://www.zhihu.com/question/20597909

https://blog.csdn.net/yangping_zheng/article/details/20781071

https://blog.csdn.net/smstong/article/details/50728022

彻底理解setjmp/longjmp并DIY一个简单的协程

4,VS常见问题解决(一闪而过、等问题)不断更新的更多相关文章

  1. springmvc环境搭建以及常见问题解决

    1.新建maven工程 a)  打开eclipse,file->new->project->Maven->Maven Project b)  下一步 c)   选择创建的工程为 ...

  2. ubuntu安装navicat及常见问题解决

    1.安装navicat Step1: 下载Navicat ,网址:http://www.navicat.com/en/download/download.html Step2:进入下载目录,解压压缩包 ...

  3. OpenStack安装部署管理中常见问题解决方法

    一.网络问题-network 更多网络原理机制可以参考<OpenStack云平台的网络模式及其工作机制>. 1.1.控制节点与网络控制器区别 OpenStack平台中有两种类型的物理节点, ...

  4. Web Deploy发布网站及常见问题解决方法(图文)

    Web Deploy发布网站及常见问题解决方法(图文) Windows2008R2+IIs7.5 +Web Deploy 3.5 Web Deploy 3.5下载安装 http://www.iis.n ...

  5. 接口测试之——Charles抓包及常见问题解决(转载自https://www.jianshu.com/p/831c0114179f)

    简介 Charles其实是一款代理服务器,通过成为电脑或者浏览器的代理,然后截取请求和请求结果达到分析抓包的目的.该软件是用Java写的,能够在Windows,Mac,Linux上使用,安装Charl ...

  6. charles抓包的安装,使用说明以及常见问题解决(windows)

    charles抓包的安装,使用说明以及常见问题解决(windows) https://blog.csdn.net/zhangxiang_1102/article/details/77855548

  7. Linux运维常见问题解决集锦【转】

    作为linux运维,多多少少会碰见这样那样的问题或故障,用点心,平时多注意积累,水平肯定越来越高. 下面就是常见问题解决集锦:   1.shell脚本不执行 问题:某天研发某同事找我说帮他看看他写的s ...

  8. Python爬虫编程常见问题解决方法

    Python爬虫编程常见问题解决方法: 1.通用的解决方案: [按住Ctrl键不送松],同时用鼠标点击[方法名],查看文档 2.TypeError: POST data should be bytes ...

  9. Atitit.angular.js 使用最佳实践 原理与常见问题解决与列表显示案例 attilax总结

    Atitit.angular.js 使用最佳实践 原理与常见问题解决与列表显示案例 attilax总结 1. 本文范围 1 2. Angular的优点 1 2.1. 双向数据绑定 1 2.2. dsl ...

  10. C# .Net Framework4.5中配置和使用managedCUDA及常见问题解决办法

    主要参考英文帖子.我就不翻译了哈.很容易懂的. 先说明我的运行平台: 1.IDE:Visual Studio 2012 C# .Net Framework4.5,使用默认安装路径: 2.显卡类型:NV ...

随机推荐

  1. 博云 x 某农商行 | 银行信息化运维系统升级的最佳实践

    随着银行新一代信息化运维系统建设的推进,应用系统更新换代速度明显提升.数字化转型的发展对银行业务需求的敏捷性提出了越来越高的要求,促进敏捷开发和资源敏捷部署成为大势所趋. 背景 江苏某农村商业银行成立 ...

  2. Python自动抢红包,超详细教程,再也不会错过微信红包了!

    目录: 0 引言 1 环境 2 需求分析 3 前置准备 4 抢红包流程回顾 5 代码梳理 6 后记 0 引言 提到抢红包,就不得不提Xposed框架,它简直是个抢红包的神器,但使用Xposed框架有一 ...

  3. .NET使用本地Outlook邮箱指定邮箱用户名和密码发送邮件

    1.添加Microsoft.Office.Interop.Outlook引用 2.封装发送邮件方法 using System; using System.Configuration; using Sy ...

  4. MyBatis面试题集合,90%会遇到这些问题

    1.#{}和${}的区别是什么? ${}是Properties文件中的变量占位符,它可以用于标签属性值和sql内部,属于静态文本替换,比如${driver}会被静态替换为com.mysql.jdbc. ...

  5. HTML5中localStorage的使用

    为什么要存在localStorage 在HTML5中,新加入了一个localStorage特性,这个特性主要是用来作为本地存储来使用的,解决了cookie存储空间不足的问题(cookie中每条cook ...

  6. JavaScript Date 日期属性和方法

    JavaScript 日期(Date) Date对象用于处理日期和时间.使用对象new Date()创建日期.实例化日期有四种方式: var d1 = new Date(); var d2 = new ...

  7. Fundebug录屏插件更新至0.5.0,新增domain参数

    摘要: 通过配置domain来保证"视频"的正确录制 录屏功能介绍 Fundebug提供专业的异常监控服务,当线上应用出现 BUG 的时候,我们可以第一时间报警,帮助开发者及时发现 ...

  8. bootstrap的表单form

    (1)默认表单 <form> <div class="form-group"> <label class="control-label&qu ...

  9. js 过滤字符 和检测 特殊字符【转】

    // var str1 = str.replace(/\[\\'\\"\\\\\\/\\b\\f\\n\\r\\t\]/g, '');// 去掉转义字符 // var str2= str.r ...

  10. 史上最全的Spring Boot Cache使用与整合

    一:Spring缓存抽象# Spring从3.1开始定义了org.springframework.cache.Cache和org.springframework.cache.CacheManager接 ...