vs2017过程中碰到的问题 2019.1.18

1、fopen_s和fopen的用法不一样
正确用法是
fopen_s(*fp , "fname" , "r");
而不是

fp = fopen_s("fname" , "r");

2、错误 C2664 “errno_t fopen_s(FILE **,const char *,const char *)”: 无法将参数 1 从“FILE”转换为“FILE **”
原代码:

fopen_s(fp , "fname" , "r");

解决办法:
参考了别人的代码,发现应该是格式的问题,fp指针前面需要加&,fname加了引号后编译器识别不了,去掉fname的引号后就可以编译成功了。

3、运行过程中出现错误:
0x51DED4EC (ucrtbased.dll)处(位于 Project1.exe 中)引发的异常: 0xC0000005: 写入位置 0x00380000 时发生访问冲突。
原因:
scanf_s()用在数组上时必须提供一个数字以表明最多读取多少位字符。(真的坑)

猜你喜欢

转载自blog.csdn.net/shenxiachuju/article/details/86544460