qq_39466976
2019-04-03 16:56
采纳率: 80%
浏览 2.2k

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]);

# }

# }

# }

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

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • dabocaiqq 2019-04-03 19:30
    已采纳

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

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • 白色一大坨 2019-04-03 17:21

    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);
        }
    }
    
    评论
    解决 无用
    打赏 举报
  • 蒙召. 2019-04-03 19:38

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

    评论
    解决 无用
    打赏 举报
  • dreamriver503 2019-04-03 19:41

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

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题