C语言实现对文本文件的操作

这几天做东西用到了文件的读取简单的整理了下

需要的头文件是:#include <stdio.h>

1.需要打开文件:用fopen_s(FILE ** _File,const char * _Filename,const char * _Mode);也可以用fopen函数参数类型一样,fopen_s比fopen多了些安全机制,后面的函数都可以使用 函数_s,eg:fprintf_s(FILE * _File, const char * _Format, ...);

2.写入数据到文件:fprintf(FILE * _File, const char * _Format, ...);第一个就是文件,后面的和printf的使用方法一样;

3.读取数据从文件:fgets(char * _Buf,int  _MaxCount, FILE * _File);这个是得到一行数据赋给_Buf,同样取值也可以有别的方式,如:fscanf函数,它是按照一定格式读取这里我就用fgets函数

4.关闭文件:fclose(FILE * _File)

这里说明一下第一条里面最后一个参数 mode:文件打开方式

r 以只读方式打开文件,该文件必须存在。
r+ 以可读写方式打开文件,该文件必须存在。
rb+ 读写打开一个二进制文件,允许读数据。
rt+ 读写打开一个文本文件,允许读和写。
w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留)
a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 (原来的EOF符不保留)
wb 只写打开或新建一个二进制文件;只允许写数据。
wb+ 读写打开或建立一个二进制文件,允许读和写。
wt+ 读写打开或着建立一个文本文件;允许读写。
at+ 读写打开一个文本文件,允许读或在文本末追加数据。
ab+ 读写打开一个二进制文件,允许读或在文件末追加数据。

下面是代码实现,文章写的有点乱,请诸多包含:

 1 #include <stdio.h>
 2 int main(int argc, char** argv)
 3 {
 4     FILE * pf =  NULL;
 5     char sz[256] = {0};
 6     //test.txt是编译后的当前目录里的一个文件
 7     fopen_s(&pf,"test.txt","rt+");
 8
 9     fprintf_s(pf,"hello world!\r\n");
10
11     while (fgets(sz,256,pf) != NULL)
12     {
13             printf("%s\r\n",sz);
14     }
15 }    

这个是简单的读写没有加逻辑判断,使用的时候可以加上各种判断处理等

C语言实现对文本文件的操作,布布扣,bubuko.com

时间: 2024-08-06 03:16:36

C语言实现对文本文件的操作的相关文章

VB语言使用ADO连接、操作SQLServer数据库教程

VB语言使用ADO连接.操作SQLServer数据库教程 这篇文章主要介绍了VB语言使用ADO连接.操作SQLServer数据库教程,本文讲解详细.代码中有大量注释,是非常好的一篇教程,需要的朋友可以参考下 几年前学过的VB几乎忘光了,这几天复习了下.VB连接ADO数据库并不是非常难. 连接第一步(要仔细看) 对于小白来讲,这里的教程最详细,连接ADO数据库第一步,要添加什么部件呢?全称是Microsoft ADO Data Control 6.0 (SP6) (OLEDB) 部件. 在Micr

C 语言中有趣第指针操作(转)

http://blog.csdn.net/ghevinn/article/details/37651149(反汇编题目需要分析) 4.取出内存区域的值 在取某内存地址开始的一个区域的值的时候,取出的值取决于用来取值的类型,譬如int为4个byte,char为1个byte,程序如: void main(){ int a[2] = {261,0}; int *pi = a; char *p = (char*)pi; cout << *(int *)p++ << endl;  //取出p

文本文件的操作&amp;&amp;用户与用户组管理

文本文件的操作 #输入重定向 tr 'a-z' 'A-Z' hello HELLO world WORLD 重定向后 tr 'a-z' 'A-Z' < file HELLO WORLD #格式化输入内容到文件: #标准输入.标准输出与标准错误 标准输入0(键盘仅读取).标准输出1与标准错误2(显示屏仅写入) 如下例:passwd文件中有标准输出1与标准错误2 只显示标准错误2到显示屏上,标准输出1写入passwd.ok 只显示标准输出1到显示屏上,标准错误2写入passwd.err 查看写入的文

【Go语言】集合与文件操作

本文目录 1.数据集合的主要操作 1_1.字典的声明 1_2.字典的初始化和创建 1_3.字典的访问和操作 1_4.其他类型的数据集 2.文件操作 2_1.文件操作概述os包和path包 2_2.文件操作示例 目录操作: 打开与建立文件: 写文件 : 读文件: 删除文件: 回到顶部 1.集合以及主要操作 首先要提到的是Go语言的内置数据类型map(字典类型 类似于Java中的HashMap和Swift中的Directory),这样你无需导入任何包便可 使用map类型了.map是一种特殊的数据结构

C语言对mysql数据库的操作

原文:C语言对mysql数据库的操作 这已经是一相当老的话题.不过今天我才首次使用,把今天的一些体会写下来,也许能给一些新手带来一定的帮助,更重要的是供自己今后忘记的怎么使用而进行查阅的! 我们言归正传 1.头文件: #include <stdio.h> #include <stdlib.h> #include <mysql/mysql.h> //这个是必需要包含的,下面对mysql的所有操作函数,都出自这里 2.定义一个MYSQL变量: MYSQL mysql: 这里

HDFS简单介绍及用C语言訪问HDFS接口操作实践

一.概述 近年来,大数据技术如火如荼,怎样存储海量数据也成了当今的热点和难点问题,而HDFS分布式文件系统作为Hadoop项目的分布式存储基础,也为HBASE提供数据持久化功能,它在大数据项目中有很广泛的应用. Hadoop分布式文件系统(Hadoop Distributed File System.HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统.HDFS是Hadoop项目的核心子项目,是一种具有高容错性.高可靠性.高可扩展性.高吞吐量等特征的分布

Perl语言学习笔记 13 目标操作

1.改变目录 chdir "/etc" or die "can't chdir to '/etc'!\n"; 省略参数会回到用户主目录,与cd效果一样: 2.文件名通配 my @all_files = glob "*"; #不包括以点号开头的文件 my @pm_files = glob "*.pm"; 一次匹配多种模式,用空格隔开:my @files = ".* *"; #可以匹配所有的文件,包括以点号开头

C语言学习笔记:15_c语言中的进制操作.c

/* * 15_c语言中的进制操作.c * * Created on: 2015年7月5日 * Author: zhong */ #include <stdio.h> #include <stdlib.h> /** * c语言中的进制表示 * 前面加0b表示二进制 * 加0x表示十六进制 * 数字前加0表示八进制 * * printf按进制打印 * %d %i 以十进制打印 * %o 以八进制打印 * %x 以十六进制打印 * * %p 打印变量地址 * %f 打印小数 * %s

c语言实现字符串的各种操作

以下是我用c语言实现数据结构中字符串的各种操作   #pragma once      #ifndef _STDLIB_H  #define _STDLIB_H    #include <stdlib.h>  #endif    #ifndef _SIXE_H  #define _SIZE_H    #define SIZE              100  #endif    #ifndef _STRING_H  #define _STRING_H    typedef struct  {