成都企业网站怎么做广东网络推广项目
目录
文件操作
文件和流的介绍
C 输入 & 输出
C 文件的读写
创建/打开文件
写入文件
fputc 函数
fputs 函数
fprintf 函数
实例:
读取文件
fgets函数
实例:
关闭文件
文件操作
文件和流的介绍
变量、数组、结构体等数据在运行时存储于内存中,程序结束后内存数据会被释放。若需长久保存数据,可写入文件或数据库。
文件是数据源的一种(如 word 文档、txt 文件、excel 文件、avi 文件等),作用是保存数据(如图像、视频、声音等)。
在 C 程序中,文件数据的输入/输出以“流(stream)”方式进行:
  
- 输入流:数据从数据源(如文件)流向程序(或内存)。
- 输出流:数据从程序(或内存)流向数据源(如文件)。

C 输入 & 输出
-  输入:向程序(或内存)写入数据,数据可来自键盘、文件或网络。C 语言通过内置函数读取输入并写入程序。 
- 输出:在屏幕、打印机或文件中显示(或保存)数据。C 语言通过内置函数将数据输出到指定载体。
     注: scanf() 和 printf() 函数:C 语言 I/O(输入/输出)常用这两个函数。
  
- int scanf(const char *format,...) :从标准输入流 stdin 读取输入,按 format 解析输入。
- int printf(const char *format,...) :将输出写入标准输出流 stdout ,按格式产生输出。
 
 实例:
  
#include <stdio.h>  
int main( ) {  int i;  printf( "Enter a value :\n"); // 标准输出函数  scanf("%d", &i); // 标准输入函数  printf( "You entered: %d \n", i);  return 0;  
}  C 文件的读写
 
 文件(无论是文本文件还是二进制文件)都代表一系列字节。C 语言既提供顶层访问函数,也提供底层调用处理存储设备上的文件。
创建/打开文件
使用 fopen() 函数创建或打开文件,初始化 FILE 类型对象(包含控制流的必要信息)。
 函数原型:
 FILE* fopen(const char* filename, const char* mode); 说明: filename 是字符串,用来命名文件,mode 访问模式:
| 模式 | 描述 | 
| r | 只读,打开已有文本文件。 | 
| w | 只写,文件不存在则创建,存在则截断(清空原有内容)后写入。 | 
| a | 追加写,文件不存在则创建,存在则从文件末尾写入。 | 
写入文件
C标准库提供按字符或固定长度字符串形式读/写文件的函数。
  
fputc 函数
函数原型:
 int fputc(int c, FILE* fp); 说明:将参数 c 的字符值写入 fp 指向的输出流,成功返回写入的字符。
  
fputs 函数
函数原型:
int fputs(const char* s, FILE* fp); 说明:将字符串 s 写入 fp 指向的输出流,成功返回非负值,出错返回 EOF 。
  
fprintf 函数
 函数原型: 
int fprintf(FILE* fp, const char *format,...); 功能:与 fputs() 类似,将字符串写入文件。
实例:
#include <stdio.h>  
int main() {  //创建一个文件指针  FILE *fp = NULL;  //打开该文件  fp = fopen("D:/demo.txt", "w");  //将内容写入到文件中  fputs("你好,北京!\n", fp);  fprintf(fp, "你好,世界!\n");  //关闭文件(确保内容保存)  fclose(fp);  printf("创建,写入信息完成");  
}  读取文件
fgets函数
函数原型:
 char* fgets(char *buf, int n, FILE *fp); 说明:此函数按行读取数据,从文件中读取一行数据(包括换行符‘\n’),并将内容存储到指定缓冲区 buf 。 n 是缓冲区大小, fp 是文件指针。成功读取返回 buf (字符串首地址),到达文件末尾或读取失败返回 NULL 。
实例:
#include <stdio.h>  
int main() {  //创建一个文件指针  FILE* fp = NULL;  //定义一个缓冲区  char buff[1024];  //打开文件  fp = fopen("D:/demo.txt", "r");  //循环读取fp指向的文件内容,读到NULL时结束  while (fgets(buff, 1024, fp) != NULL) {  printf("%s", buff);  }  
}关闭文件
使用完文件后(读,写),一定要将该文件关闭。
 关闭文件,使用  fclose()  函数。
 函数原型:
 int fclose( FILE* fp ); 如果成功关闭文件, fclose() 函数返回零。此时,会清空缓冲区中的数据,关闭文件,并释放用于该文件的所有内存。
  
 
  
  
