VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 555|回复: 4

文件读入

[复制链接]
59_avatar_middle
最佳答案
0 
在线会员 发表于 2018-4-24 13:13:39 | 显示全部楼层 |阅读模式
3驿站币
桌面属性查看打开文件的位置 C:\Users\陈海源\Desktop; 但是调试后提示不能打开文件?
编译成功不过出现下面的警告
“        : 不可识别的字符转义序列
“D”: 不可识别的字符转义序列
“==”:“errno_t”与“void *”的间接级别不同

#include<stdio.h>
int main()
{
        FILE *fp;
        char ch;
        errno_t err;
        if ((err = fopen_s(&fp, "C:\Users\陈海源\Desktop\\chenbinsb.txt", "r")) == NULL);
        {
                printf("can not open this file!\n");
        }
        ch = fgetc(fp);
        while (ch != EOF)
        {
                putchar(ch);
                ch = fgetc(fp);
        }
        fclose(fp);
        while (1);
        return 0;
}

最佳答案

查看完整内容

貌似楼主忘记了转义字符: if ((err = fopen_s(&fp, "C:%users\陈海源\Desktop\\chenbinsb.txt", "r")) == NULL); 改成: if ((err = fopen_s(&fp, "C:\%users\\陈海源\\Desktop\\chenbinsb.txt", "r")) == NULL); 试试




上一篇:release
下一篇:unsigned char数组赋值给unsigned long
81_avatar_middle
最佳答案
3 
online_supermod 发表于 2018-4-24 13:13:40 | 显示全部楼层
貌似楼主忘记了转义字符:
if ((err = fopen_s(&fp, "C:\Users\陈海源\Desktop\\chenbinsb.txt", "r")) == NULL);
改成:
if ((err = fopen_s(&fp, "C:\\Users\\陈海源\\Desktop\\chenbinsb.txt", "r")) == NULL);
试试
59_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2018-4-24 21:33:04 | 显示全部楼层
Debug 发表于 2018-4-24 13:36
貌似楼主忘记了转义字符:
if ((err = fopen_s(&fp, "C:%users\陈海源\Desktop\\chenbinsb.txt", "r")) == ...

可以谢谢!  为什么成功打开文件还会输出    printf("can not open this file!\n");   既然打开文件不是就不会等于NULL,循环就不执行了吗?
81_avatar_middle
最佳答案
3 
online_supermod 发表于 2018-4-25 09:34:58 | 显示全部楼层
chenhaiyuan 发表于 2018-4-24 21:33
可以谢谢!  为什么成功打开文件还会输出    printf("can not open this file!\n");   既然打开文件不是 ...

fopen_s 的返回值说明如下:
如果成功,则为零;如果失败,则为错误代码。

而 NULL 的值默认也是0,所以就执行了这句了:
printf("can not open this file!\n");
改下判断就可以了

点评

好的。 谢谢!  发表于 2018-4-25 11:50
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2019-11-19 04:20

Powered by Discuz! X3.4

© 2009-2019 cctry.com

快速回复 返回顶部 返回列表