qq_39466976
qq_39466976
采纳率80%
2019-04-03 16:56 阅读 2.1k

c语言的fopen打不开文件?

5

问题如题
代码如下

# #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 dabocaiqq 2019-04-03 19:30

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

    点赞 1 评论 复制链接分享
  • phenix2009 白色一大坨 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);
        }
    }
    
    点赞 2 评论 复制链接分享
  • qq_38551717 蒙召. 2019-04-03 19:38

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

    点赞 评论 复制链接分享
  • dreamriver503 dreamriver503 2019-04-03 19:41

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

    点赞 评论 复制链接分享

相关推荐