当然入门学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. nginx 日志配置log_format用法

    nginx服务器日志相关指令主要有两条: 1.一条是log_format,用来设置日志格式: 2.另外一条是access_log,用来指定日志文件的存放路径.格式和缓存大小,可以参加ngx_http_ ...

  2. css彩虹文字

    用CSS3实现彩虹文字的效果,只在Webkit内核的浏览器(谷歌浏览器或移动端)上有效果. background-image: -webkit-gradient(linear, left top, r ...

  3. Django学习笔记(19)——BBS+Blog项目开发(3)细节知识点补充

    本文将BBS+Blog项目开发中所需要的细节知识点进行补充,其中内容包括KindEditor编辑器的使用,BeautifulSoup 模块及其防XSS攻击,Django中admin管理工具的使用,me ...

  4. 如何取消 SqlDataAdapter.Fill() 的执行(转载)

    问 Scenario: We have a DataGridView which is attached to DataAdapter (datatable), we load the data in ...

  5. 分布式Redis深度历险-复制

    Redis深度历险分为两个部分,单机Redis和分布式Redis. 本文为分布式Redis深度历险系列的第一篇,主要内容为Redis的复制功能. Redis的复制功能的作用和大多数分布式存储系统一样, ...

  6. jmeter入门操作 = 录制

    没安装工具的朋友请先看:https://www.cnblogs.com/cainiaoxiansheng/p/11007754.html 软件装好,功能了解好,那么就开始进入正题,先来一波录制 不要鄙 ...

  7. Java自学-集合框架 Collection

    Java集合框架 Collection Collection是一个接口 步骤 1 : Collection Collection是 Set List Queue和 Deque的接口 Queue: 先进 ...

  8. 小鸟初学Shell编程(九)环境变量变量配置文件

    介绍 在上一篇使用完了环境变量,并且知道PATH环境变量概念,那么我们对命令的执行就有了一定深入的理解.那么PATH环境变量或其他环境变量是保存在哪呢?那么这篇文章主要介绍环境变量配置文件. 配置文件 ...

  9. flink WaterMark之TumblingEventWindow

    1.WaterMark,翻译成水印或水位线,水印翻译更抽象,水位线翻译接地气. watermark是用于处理乱序事件的,通常用watermark机制结合window来实现. 流处理从事件产生,到流经s ...

  10. gradle入门

    gradle入门 简介: Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具.它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于 ...