soft-summer-2021 / summer2021

程序设计实践 (2021夏季学期)
34 stars 6 forks source link

visual studio 2017 用不了fopen\fscanf等函数,怎么办 #13

Closed zbh6666 closed 3 years ago

zbh6666 commented 3 years ago

我使用vs2017编写一个游戏,想创建一个文件来保存游戏记录(c语言),但是用了fopen和fscanf都报错,似乎存在安全问题,上网查了一些解决方式也不好使,请问怎么解决。(或者有什么其它方式可以保存游戏进度吗?),谢谢。

dyn1721 commented 3 years ago

直接使用报错信息中建议使用的fopen_s fscanf_s函数即可 用法稍有区别 简单使用例如下:

#include <stdio.h>
#include <stdlib.h>

int main()
{
    FILE* fp;
    errno_t err;
    char str[100];
    if ((err = fopen_s(&fp, "1.txt", "r")) != 0)   
    {
        printf("无法打开此文件\n");            
        exit(0);                               
    }
    fscanf_s(fp, "%s", &str,20);
    printf("%s", str);
    fclose(fp);
    return(0);
}

详细用法参考

dyn1721 commented 3 years ago

或者通过关闭SDL检查实现正常使用fopen fscanf等

具体设置位置是 打开 项目-- >项目属性 把如下图位置的是改成否即可

Q$D%}{QZHEP7W3PN(_GR7@6