当然入门学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. TensofFlow函数: tf.image.crop_and_resize

    tf.image.crop_and_resize( image, boxes, box_ind, crop_size, method='bilinear', extrapolation_value=0 ...

  2. c# .NET Framework 版本确定

    关于.NET Framework 版本信息这里做个介绍: 1. 编译时,工程的目标的 .NET Framework 版本 同样的代码,我先选择.net 4.0,就发现有语法错误,原因是4.0版本还没提 ...

  3. 使用xkbeancomparator对比javabean,生成操作记录

    xkbeancomparator是一个 java bean 对比修改并输出差异的工具.github地址 适用场景:用户编辑提交时,需要记录修改内容,修改前后的值对比,生成操作记录:可以选择记录的字段和 ...

  4. Web点击链接调起手机系统自带短信发短信

    实现代码如下: 一.Html代码 <a href="javascript:;" class="xq-sms">发送短信</a> 二.jQ ...

  5. 信息收集利器:ZoomEye

    前言 ZoomEye是一款针对网络空间的搜索引擎,收录了互联网空间中的设备.网站及其使用的服务或组件等信息. ZoomEye 拥有两大探测引擎:Xmap 和 Wmap,分别针对网络空间中的设备及网站, ...

  6. mysql建库,建表,补列

    SET NAMES UTF8;DROP DATABASE IF EXISTS tmooc; CREATE DATABASE tmooc CHARSET=UTF8; USE tmooc;CREATE T ...

  7. centos6.8下hadoop3.1.1完全分布式安装指南

    前述:这篇文档是建立在三台虚拟机相互ping通,防火墙关闭,hosts文件修改,SSH 免密码登录,主机名修改等的基础上开始的. 一.传入文件 1.创建安装目录 mkdir /usr/local/so ...

  8. 白话SCRUM 之四:燃尽图

    Burn down chart翻译为燃尽图或燃烧图,很形象,是Scrum中展示项目进展的一个指示器.我一直认为用户故事.每日站立会议.燃尽图.sprint review.sprint retrospe ...

  9. JDBC学习笔记二

    JDBC学习笔记二 4.execute()方法执行SQL语句 execute几乎可以执行任何SQL语句,当execute执行过SQL语句之后会返回一个布尔类型的值,代表是否返回了ResultSet对象 ...

  10. LCD RGB 控制技术讲解 — 时钟篇(上)【转】

    1. 时序图 下面是LCD RGB 控制的典型时序图 天啊,一下就上这玩意,怎么看??? 其实要解释上面的时序图,我们还需要了解一些LCD的显示过程.所以现在只是有个印象,稍后我们详细讲解. 2. L ...