c语言的fopen打不开文件?

问题如题
代码如下

# #define _CRT_SECURE_NO_WARNINGS

# #include

#

# void main()

# {

# FILE *fp = NULL;

# wchar_t jian[500];

# printf("到这里");

# fp = fopen("D:\\vsObject\\test1\\test1\\all.txt", "a");

# if (fp == NULL)

# {

# printf("读取失败");

# }

# else

# {

# fgets(jian, 60000, (FILE*)fp);

# fclose(fp);

# for (int i = 0; i < sizeof(jian); i++)

# {

# printf(jian[i]);

# }

# }

# }

##
错误如下
图片说明
文件路径如下
图片说明

for (int i = 0; i < strlen(jian); i++)
printf("%c", jian[i]);
这样写才对。

fgets只能获取一行:

#define _CRT_SECURE_NO_WARNINGS
#include "stdio.h"
#include "tchar.h"

void main()
{
    FILE *fp = NULL;
    TCHAR jian[500] = {0};
    printf("到这里");
    fp = fopen("all.txt", "rb");
    if (fp == NULL)
    {
        printf("读取失败");
    }
    else
    {
        fgets(jian, 500, (FILE*)fp);
        fclose(fp);

        printf("%s\n", jian);
    }
}

fopen的第二个参数:
r:读
t:文本
b:二进制
w:写
a:写并添加在末尾
如要读,应"r"

个人经验是 读取后面 一定要 加上 /r, 这样避免误以为是要创建文件才可以打开