c语言如果读不到数据就跳过,4,VS常见问题解决(一闪而过、等问题)不断更新...

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

但是想看c源码,还是

1. 推荐用 *nix系统

2. 再不济用 VS + WSL2

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

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

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

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

编译时报错:

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

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

661e3e294e7528fc11ceafc1c17f056c.png

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

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

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

一个例子:

scanf_s( "%d %f %c %C %s %S",

&i, &fp, &c, 1,&wc, 1, s, (unsigned)_countof(s), ws, (unsigned)_countof(ws) );

关于scanf_s()的用法

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

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

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

getchar();

即可解决问题

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

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

从流中跳过读取一行

char * p = NULL;

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

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

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

如文件t.csv内容为

3, Cart, john, R35\n

4, 省略...

1 //读取csv的一行

2

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

5 fscanf(fp, "%u, %[^,], %[^,], %[^\n],"

6 , &id, &Category, &Name, &Model);

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

想要写try-catch-finally语句?

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

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值