c语言文件操作函数的讲解 c语言文件操作函数的讲解教程

C语言中几个文件操作函数的解释(要自己说的通俗点的)

#include stdio.h

成都创新互联主营利州网站建设的网络公司,主营网站建设方案,成都App定制开发,利州h5微信小程序开发搭建,利州网站营销推广欢迎利州等地区企业咨询

FILE *stream;

void main( void )

{

long l;

float fp;

char s[81];

char c;

stream = fopen( "fscanf.out", "w+" );

if( stream == NULL )

printf( "The file fscanf.out was not opened\n" );

else

{

fprintf( stream, "%s %ld %f%c", "a-string",

65000, 3.14159, 'x' );

/* Set pointer to beginning of file: */

fseek( stream, 0L, SEEK_SET );

/* Read data back from file: */

fscanf( stream, "%s", s );

fscanf( stream, "%ld", l );

fscanf( stream, "%f", fp );

fscanf( stream, "%c", c );

/* Output data read: */

printf( "%s\n", s );

printf( "%ld\n", l );

printf( "%f\n", fp );

printf( "%c\n", c );

fclose( stream );

}

}

看了MSDN上的这个例子应该会用fprintf和fscanf了吧

其它的函数在MSDN上基本上都有例子参考的.

C语言文件位置指针的操作函数问题

分类: 电脑/网络 程序设计 其他编程语言

问题描述:

在使用stdio.h中的fgetc和fputc函数时,文件位置指针回根据每一次操作向后移动。

谁能详细告诉我怎么样控制文件的位置指针?

解析:

函数原型

int fseek( FILE *stream, long offset, int origin );

stream为要操作的文件指针,offset为移动的范围,origin为起始位置

origin:SEEK_CUR为从文件的当前位置移动

SEED_END为从文件的末尾向前移动

SEEK_SET为从文件的开始向后移动

简单吧:)

c语言 文件操作

文件

文件的分类:

按照用户角度分:

①设备文件:如显示器(printf)标准输出文件;键盘(scanf)标准输入文件

②普通文件:存放在磁等介质上的文件

按照文件的逻辑结构上分:

①记录文件(有定长记录、不定长记录两种)

②流式文件(由字符数据顺序组成如c语言程序)

按照文件的编码方式:

①文本文件(又称ascii文件,每个字节存放一个ascii码)(.c、.cpp、.h、.txt、.ini、)(常见的有五种)

②二进制文件(binary file)(点抗 、.doc、.dat、.exe、.lib)(常见的有五种)

文件操作函数:

一、文件的打开:文件指针名=fopen(“path\文件名”,“打开文件方式”)

“文件打开方式”:

rt-只读打开文本文件

wt-只写打开文本文件

at-追加打开文本文件,并在末尾写数据。

rb-只读打开二进制文件

wb-只写打开二进制文件

ab-追加打开二进制文件,并在末尾写数据。

rt+-读写打开文本文件,允许读写

wt+-读写打开或建立一个文本文件,允许读写。

at+-读写打开一个文本文件,允许读或在文件末尾追加数据。

rb+-读写打开二进制文件,允许读写

wb+-读写打开或建立一个二进制文件,允许读写。

ab+-读写打开一个二进制文件,允许读或在文件末尾追加数据。

r+w:可读写文件(具体是二进制文件还是文本文件要看打开文件的扩展名而定)

例如:fp=fopen(“C.dat”,“w+b”)

文件打开模式只有r、w、a、t、b、+、这六个字符拼成。

w:用w打开的文件只能向该文件写入数据(更准确是建立一个新的文件)(即将 信息从程序写入磁盘中)

a:用a打开对我文件只能向已存在的文件中追加信息

①对于文本文件应注意:从程序中读入内存时,要将ASCII码转换成二进制码;而 把文件以文本形式写入磁盘时,要将二进制码转换为ASCII码。

②fopen函数将返回一个文本文件结构的指针(该文件不存在时,返回NULL)

文件的关闭:fclose(fp);(作用强制性将存放在缓中的未满的数据写入到磁盘中, 然后释放文件指针,使其真正写入磁盘中)

fclose(fp);关闭成功时返回0,失败时返回EOR

文件的读写:

读字符函数— fgetc()

调用格式:字符变量=fgetc(文件指针(fp));

函数说明:

读字符时,文件必须以“读”或者“读写”的方式打开

读取的结果也可以不向字符变量赋值。例如fgetc(fp)

每读一个字符文件内部指针向前移动一个字符(文件内部指针不是文件指针,文件内部直镇不需要程序中定义说明由系统自动设置)

返回值:fgetc(fp):成功时函数返回读入的一个字符,若读到文件尾时或者出错时,返回值为“EOF”。

写字符函数—fputc()

调用格式:fputc(字符量(常量或者变量),文件指针(fp))

函数说明:

写字符时,文件可以用“写”“读写”“追加”的方式打开文件

写或者是读写的方式打开文件时,原有的内容将会被清除,从文件首部开始写入字符;若以追加的方式打开文件时,将在文件末尾开始写入字符。

函数的返回值:写入成功时,返回写入的字符;失败时,则会

返回“EOF”

每写入一个字符,“文件内部位置指针”向后移动一个字符

读字符串函数—fgets()

调用格式:fgets(字符数组名,n,文件指针(fp))

函数说明:

N是一个正整数,表示从文件中读取的字符串不超过N-1个字符。

读入最后一个字符后加上字符串结束标志'\0'.

读取过程中,遇到换行或者文件结束标志“EOF”(end of file)时,读取字符串结束。

写字符串函数—fputs()

调用格式:fputs(字符串量,文件指针)(字符串量,即可是字符串变量(c中为字符数组),由可是字符串常量)

函数说明:无

///////////////////////////////////////////////////////////////--这部分有点小问题(程序运行不了)

读数据块函数—fread()

调用格式:fread(p,size,n,fp)

函数说明:

P:指向输入/输出数据块的首地址的指针

Size:某类型数据存储空间的字节数(数据项大小)

N:此次从文件中读取的数据项数

Fp:文件指针变量

写数据块函数—frite()

调用格式:fread (p,size,n,fp)

函数说明:

P:指向输入/输出数据块的首地址的指针

Size:某类型数据存储空间的字节数(数据项大小)

N:此次从文件中读取的数据项数

Fp:文件指针变量

注意:fread、fwite函数在调用成功时,函数返回值为n的值,即输出的项数;如果失败,则返回(0)。

//文件:打开-----读或者写--------关闭文件:(你忘了关闭文件了)


标题名称:c语言文件操作函数的讲解 c语言文件操作函数的讲解教程
转载源于:http://scyanting.com/article/ddjjpje.html