当然入门学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. conda基本知识

    卸载anaconda: rm -rf anaconda3 (anaconda文件夹名称) conda删除虚拟环境 在终端执行:conda remove -n your_env_name(虚拟环境名称) ...

  2. 【Python】itertools之product函数

    [转载]源博客 product 用于求多个可迭代对象的笛卡尔积(Cartesian Product),它跟嵌套的 for 循环等价.即: product(A, B) 和 ((x,y) for x in ...

  3. linq,sqlmethods,like

    LINQ to SQL will translate .NET methods in this manner: text.StartsWith(...) = LIKE ...% text.Contai ...

  4. Asp.net HttpContext 简介

    1.  Context    名词解析      Context 直接翻译就是上下文."上下文" 这个名词还是挺让人费解的,是一个非常泛化的概念.刚看到有点让人摸不着头脑,一个高端 ...

  5. 基本认证(Basic Authorization)

    ---------------------------------- import arcpy from base64 import encodestring username = 'xxx' pas ...

  6. NRF24L01双向无线通信

    最近闲来无事,利用手头资源研究了一下基于nrf24L01的双向通信实验,整个系统如下图所示. 原理: nrf24L01本身是一种单向通信的无线模块,但是,当nrf24L01工作在增强型的 ShockB ...

  7. 三元運算子回傳lambda expression

    紀錄一下 假如我想要透過三元運算子?: 傳回lambda expression 要明確轉型

  8. DLT645 1997 协议解析

    源码下载  -> 提取码 QQ:505645074 DLT645.zip 工具 源码 规约解析 DL/T645-07: 数据帧格式: 注意事项: (1)前导字节-一般在传输帧信息前,都要有0~4 ...

  9. postgresql 相关函数总结

    1.获取当前日期的年份 select to_char(t.detect_date,'YYYY') select extract(year from now())为double precision 格式 ...

  10. 如何使用Postman发送get请求?

    一.接口测试介绍 接口测试:就是针对软件对外提供服务的接口输入输出进行测试,以及接口间相互逻辑的测试,验证接口功能和接口描述文档的一致性. 接口测试好处:接口测试通常能对系统测试的更为彻底,更高的保障 ...