文件基础知识

计算机中的流:在C语言中将通过输入/输出设备(键盘、内存、显示器、网络等)之间的数据传输抽象表述为“流”。

1、文本流和二进制流

在文本流中输入输出的数据是一系列的字符,可以被修改在二进制流中输入输出数据是一系列字节,不能以任何方式修改。

2、预定义的流

文件的概念:一般指存储在外部介质上数据的集合。操作系统是以文件为单位对数据进行管理的,如果想找放在外部介质上的数据,必须先按文件名找到指定的文件,然后从文件中读取数据。

一个文件要有唯一的文件标识,以便用户识别和引用。文件标识包括3部分,分别为文件路径、文件名主干和文件后缀。

1、二进制文件

数据在内存中是以二进制形式存储的,如果不加转换地输出外存,就是二进制文件。

2、文本文件

文本文件又称为ASCLL文件,每一个字节放一个字符地ASCLL码。

文件指针:在C语言中,对文件的所有操作都必须依靠文件指针来完成。定义格式:

FILE* 变量名;

打开文件:fopen()函数,其返回值类型为文件指针。函数声明:

FILE * fopen(char* filename,char* mode);

文件基础知识_第1张图片文件基础知识_第2张图片

关闭文件:fclose()函数,用于关闭文件,其返回值类型为int类型。函数声明:

int fclose(FILE *fp);

单字符读写文件

1、使用fputc()函数向文件写入字符,函数声明:

int fputc(char ch,FILE *fp);

ch表示写入的内容,fp表示一个文件指针,int表示函数返回值的类型为整数类型。

2、使用fgetc()函数读取文件中的字符,语法格式:

char fgetc(FILE *fp);

fp表示一个文件指针变量,char表示函数返回值的类型为字符类型。程序示例:

#include

int main()
{
	FILE *fp;
	int i=0;
	char arr[]="I Like C Program";
	fp=fopen("hello.txt","w");  //打开文件,若文件不存在则创建文件
	if(fp==NULL)
	{
		printf("打开文件失败!\n");
		return -1;
	} 
	while(arr[i]!='\0')
	{
		fputc(arr[i],fp);
		i++;
	}
	fclose(fp);
	return 0; 
 }
#include
#include
int main()
{
	FILE *fp;
	char ch;
	fp=fopen("hello.txt","r");  //打开文件,若文件不存在则创建文件
	if(fp==NULL)
	{
		printf("打开文件失败!\n");
		exit(0);
	} 
	ch=fgetc(fp);  //从文件中读取每个字符 
	while(ch!=EOF)
	{
		printf("%c",ch);
		ch = fgetc(fp);
	}
	printf("\n");
	fclose(fp);
	return 0; 
 } 

单行读写文件

1、使用fput()函数向文件写入字符串,函数声明:

int fputs(const char* str,FILE *file);

参数str表示指向待写入的字符串的字符指针;参数file表示文件指针,该指针指向需要写入字符串的文件;返回值类型int类型表示函数返回值的类型为整型。

2、fgets()函数读取文件中的字符串,或读取指定长度的字符串,函数声明:

char * fgets(char *buf,int maxCount,FILE *file);

参数buf指向用来存储文件数据的数组的地址;参数maxCount指明存储数据的大小,参数file是将要读取的文件的文件指针。

二进制读写文件

1、fwrite()函数向文件写入数据,以二进制的形式将数据写入文件,函数声明:

unsigned int fwrite(const void* str,unsigned int size,unsigned int count,FILE * file);

你可能感兴趣的:(php,开发语言)