一、fopen

函数原型:FILE *fopen( const char *filename, const char *mode );

返回值:返回值类型为FILE *,打开文件成功返回指向打开文件的指针,打开文件失败返回空指针(NULL)

代码示例:

 #include <stdio.h>

 void OpenFile(FILE **map);    //打开文件
void JudgeOpenSuc(FILE *judge); //判断文件打开是否成功 int main()
{
FILE *fp; OpenFile(&fp);
JudgeOpenSuc(fp); return ;
} void OpenFile(FILE **map)
{
(*map) = fopen("E:my.txt", "a+");
} void JudgeOpenSuc(FILE *judge)
{
if (judge != NULL)
{
printf("Open successfully\n");
}
else
{
printf("Open failure\n");
}
}

二、fopen_s

函数原型:errno_t fopen_s( FILE** pFile, const char *filename, const char *mode );

返回值:返回值类型位errno_t,打开文件成功返回0,打开文件失败返回非零

代码示例:

 #include <stdio.h>

 const int SUC = ;

 void OpenFile(FILE **map, errno_t *err);    //打开文件
void JudgeOpenSuc(errno_t err); //判断文件打开是否成功 int main()
{
FILE *fp;
errno_t err; OpenFile(&fp, &err);
JudgeOpenSuc(err); return ;
} void OpenFile(FILE **map, errno_t *err)
{
(*err) = fopen_s(map, "E:my.txt", "a+");
} void JudgeOpenSuc(errno_t err)
{
if (err == SUC)
{
printf("Open successfully\n");
}
else
{
printf("Open failure\n");
}
}

三、_wfopen

函数原型:FILE *_wfopen( const wchar_t *filename, const wchar_t *mode );

返回值:返回值类型为FILE *,打开文件成功返回指向打开文件的指针,打开文件失败返回空指针(NULL)

代码示例:

 #include <stdio.h>

 void OpenFile(FILE **map);    //打开文件
void JudgeOpenSuc(FILE *judge); //判断文件打开是否成功 int main()
{
FILE *fp; OpenFile(&fp);
JudgeOpenSuc(fp); return ;
} void OpenFile(FILE **map)
{
(*map) = _wfopen(L"E:my.txt", L"a+");
} void JudgeOpenSuc(FILE *judge)
{
if (judge != NULL)
{
printf("Open successfully\n");
}
else
{
printf("Open failure\n");
}
}

四、_wfopen_s

函数原型:errno_t _wfopen_s( FILE** pFile, const wchar_t *filename, const wchar_t *mode );

返回值:返回值类型位errno_t,打开文件成功返回0,打开文件失败返回非零

代码示例:

 #include <stdio.h>

 const int SUC = ;

 void OpenFile(FILE **map, errno_t *err);    //打开文件
void JudgeOpenSuc(errno_t err); //判断文件打开是否成功 int main()
{
FILE *fp;
errno_t err; OpenFile(&fp, &err);
JudgeOpenSuc(err); return ;
} void OpenFile(FILE **map, errno_t *err)
{
(*err) = _wfopen_s(map, L"E:my.txt", L"a+");
} void JudgeOpenSuc(errno_t err)
{
if (err == SUC)
{
printf("Open successfully\n");
}
else
{
printf("Open failure\n");
}
}

五、fscanf、fgetc、fgets、fscanf_s

fscanf()

函数原型:int fscanf (FILE *fp, const char *format, ……);

返回值:参数列表中被成功读取的参数个数

代码示例:

 char ch;
fscanf(fp, "%c", &ch);

fgetc()

函数原型:int fgetc( FILE *stream );

返回值:读取成功则以int形式读取的字符对应的值(注意是int类型,如果用char类型的变量来接收返回值可能会导致数据截断),读取失败返回EOF

代码示例:

 int ch;
ch = fgetc(fp);

fgets()

函数原型:char *fgets( char *str, int numChars, FILE *stream );

返回值:读取成功时返回字符数组首地址,也即 str;读取失败时返回 NULL

代码示例:

char *p;
char ss[]; p = fgets(ss, ,fp);
if (p != NULL)
{
printf("%s", ss);
}

fscanf_s()

函数原型:int fscanf_s( FILE *stream, const char *format [, argument ]... );

返回值:返回成功读取的参数数量

代码示例:

 char ss[];
int k; k = fscanf_s(fp, "%s", ss, _countof(ss));
printf("%s", ss);

文件操作之打开文件与读写文件——C语言的更多相关文章

  1. 重新想象 Windows 8 Store Apps (24) - 文件系统: Application Data 中的文件操作, Package 中的文件操作, 可移动存储中的文件操作

    原文:重新想象 Windows 8 Store Apps (24) - 文件系统: Application Data 中的文件操作, Package 中的文件操作, 可移动存储中的文件操作 [源码下载 ...

  2. C++文件操作(输入输出、格式控制、文件打开模式、测试流状态、二进制读写)

    1.向文件写数据 头文件#include <ofstream> ①Create an instance of ofstream(创建ofstream实例) ②Open the file w ...

  3. C++文件操作:打开文件和写入文件

    如果程序的运行结果仅仅显示在屏幕上,当要再次查看结果时,必须将程序重新运行一遍:而且,这个结果也不能被保留. 如果希望程序的运行结果能够永久保留下来,供随时查阅或取用,则需要将其保存在文件中. 文件分 ...

  4. C++文件操作:打开文件和写入文件 zz

    http://www.weixueyuan.net/view/5825.html 如果程序的运行结果仅仅显示在屏幕上,当要再次查看结果时,必须将程序重新运行一遍:而且,这个结果也不能被保留. 如果希望 ...

  5. C文件操作之写入字符串到指定文件并在屏幕显示

  6. 10-10Linux的文件操作函数以及所需头文件

    Linux的基本文件操作函数     Linux通过相应的对文件的IO函数来实现对文件的操作,这些函数通常被称作"不带缓冲的IO",这是因为他们都是通过调用Linux的内核调用来实 ...

  7. python中文件操作的六种模式及对文件某一行进行修改的方法

    一.python中文件操作的六种模式分为:r,w,a,r+,w+,a+ r叫做只读模式,只可以读取,不可以写入 w叫做写入模式,只可以写入,不可以读取 a叫做追加写入模式,只可以在末尾追加内容,不可以 ...

  8. Spark RDD/Core 编程 API入门系列之动手实战和调试Spark文件操作、动手实战操作搜狗日志文件、搜狗日志文件深入实战(二)

    1.动手实战和调试Spark文件操作 这里,我以指定executor-memory参数的方式,启动spark-shell. 启动hadoop集群 spark@SparkSingleNode:/usr/ ...

  9. (文件操作)Android相关的File文件操作

    判断文件是否存在: /** * 判断文件是否存在 * * @param path 文件路径 * @return [参数说明] * @return boolean [返回类型说明] */ public ...

随机推荐

  1. Linux MySQL 储存中文失败简单解决办法

    如图,保存的中文都变成了??? show create table table_name;可以查到表的默认编码 这里看到默认的字符集是latin1,而不是utf8 需要修改 alter databas ...

  2. 怎么样使用vuex

    https://www.cnblogs.com/songrimin/p/7815850.html

  3. IDEA 同时打开多个项目

    打开IDEA Settings-->System Settings-->Open project in new wodow

  4. jQuery 设置select,radio的值,无法自动触发绑定的change事件

    一.问题 今天在对select和radio做change事件绑定后,手动设置其value值,但是不能触发change事件 二.解决 使用trigger方法手动触发

  5. gdal 遥感影像水体数据提取

  6. Carve ifc failed

    Detected IFC version: IFC2X3 Warning: Sweeper::createTriangulated3DFace, carve::triangulate::incorpo ...

  7. Arduino---ESP8266 WIFI模块

    一:Arduino安装ESP8266 https://www.arduino.cn/thread-76029-1-1.html(内容截图如下:最简单方法) 选用NodeMCU .0即可 二:简单测试 ...

  8. toast提示信息获取和Monkey笔记

    获取toast toast提示信息出现场景:用户输入用户名和密码后,提示的'登录成功', 用之前的定位方法获取不了,需要Uiautomator2来获取 安装node.js (使用 npm 或 node ...

  9. 123457------com.threeapp.quWeiKaTongPinTu01----趣味卡通拼图游戏

    com.threeapp.quWeiKaTongPinTu01----趣味卡通拼图游戏

  10. PAT 甲级 1060 Are They Equal (25 分)(科学计数法,接连做了2天,考虑要全面,坑点多,真麻烦)

    1060 Are They Equal (25 分)   If a machine can save only 3 significant digits, the float numbers 1230 ...