VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

有编程疑问吗?还请到提问专区发帖提问!
搜索
查看: 378|回复: 3

[求助] C语言文件读写VS2013

[复制链接]
59_avatar_middle
在线会员 chenhaiyuan 发表于 2018-4-22 22:36:09 | 显示全部楼层 |阅读模式
3驿站币
想请教一下:标记处指fp为什么要加&,它本身不就是代表地址吗?
这里打开的文件可以是我在桌面直接创建的文件吗?
#include<stdio.h>
int main()
{
        FILE *fp;
        char ch;
        errno_t err;
        if ((err = fopen_s(&fp, "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;
}

最佳答案

查看完整内容

没错,fp本身是个地址,一般用于打开文件之后的文件指针,但是我问你,在调用 fopen_s 之前,fp 是个有效的文件指针吗?肯定不是!!! 所以,fopen_s 的作用就是将文件打开,之后使 fp 指向该打开的文件。如果你参数传递 fp,那么只能修改 fp 指向的内存里面的内容,如果你传递 &fp,那么就可以更改 fp 指针的指向,所以这里面必须传递的是 &fp,同时,本身 fopen_s 函数的第一个参数就要求是 FILE **,看准了是个二级指针,所以 ...




上一篇:MFC教程视频
下一篇:黑客教程第一课最后的程序运行时

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

51_avatar_middle
online_admins Syc 发表于 2018-4-22 22:36:10 | 显示全部楼层
没错,fp本身是个地址,一般用于打开文件之后的文件指针,但是我问你,在调用 fopen_s 之前,fp 是个有效的文件指针吗?肯定不是!!!
所以,fopen_s 的作用就是将文件打开,之后使 fp 指向该打开的文件。如果你参数传递 fp,那么只能修改 fp 指向的内存里面的内容,如果你传递 &fp,那么就可以更改 fp 指针的指向,所以这里面必须传递的是 &fp,同时,本身 fopen_s 函数的第一个参数就要求是 FILE **,看准了是个二级指针,所以这块逼着你传递 &fp,楼主明白了吗?

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

59_avatar_middle
ico_lz  楼主| chenhaiyuan 发表于 2018-4-23 13:48:12 | 显示全部楼层
Syc 发表于 2018-4-22 22:48
没错,fp本身是个地址,一般用于打开文件之后的文件指针,但是我问你,在调用 fopen_s 之前,fp 是个有效的 ...

看明白了,通俗易懂。
如果方便的话话还想问这个选择打开的文件,是自动搜索电脑里所有该名字的文件吗?

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

51_avatar_middle
online_admins Syc 发表于 2018-4-23 14:12:05 | 显示全部楼层
chenhaiyuan 发表于 2018-4-23 13:48
看明白了,通俗易懂。
如果方便的话话还想问这个选择打开的文件,是自动搜索电脑里所有该名字的文件吗?

选择打开文件的话,就得弹出文件选择对话框了,可以使用 CFileDialog 这个类来实现

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

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

GMT+8, 2018-12-11 22:48

Powered by Discuz! X3.4

© 2009-2018 cctry.com

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