dw做的网站放文件夹凡科建站下载
一.解释一些问题
1.标准输入文件(sdtin),通常对应终端的键盘。
2.标准输出文件(stdout)和标准错误输出文件(stderr),这两个文件
都对应终端的屏幕。
(解释:File *fp=fopen()
stdin,stdout,stderr就是这个fp,不过他是随着计算机系统的开启默认打开的,其中0就是stdin,表示输入流,指从键盘输入,1代表stdout,2代表stderr,1,2默认是显示器。stdin是标准库stdio.h中定义的一个全局变量。)
3.语句freopen(“in.txt”, “r”, stdin); 就是把标准输入流stdin重定向到in.txt文件中,这样用scanf输入时,不会从键盘读取数据,而是从in.txt文件中获取输入。
(说明:在freopen(“in.txt”, “r”, stdin);中,in.txt文件应放在所建立的工程文件夹下。)
4.系统给每个打开的文件都在内存中开辟一个区域,用于存放文件的有关信息(如文件名、文件位置、文件状态等)。这些信息保存在一个结构类型变量中,该结构类型由系统定义、取名为FILE,放在“stdio.h”文件中。
注意:结构类型名“FILE”必须大写。
5.fopen
用于打开文件并返回文件指针,而freopen
用于重新定向文件流到指定文件。fopen
是打开文件的操作,而freopen
是重新定向文件流的操作。
二.文件的打开方式
1.“r” 以只读方式,打开文本文件。
“w” 以只写方式,创建并打开文本文件,已存在的文件将被覆盖。
“a” 以只写方式打开文本文件,向尾部追加数据。
“+” 与上面的字符串组合,表示以读写方式打开文本文件。
“b” 与上面的字符串组合,表示打开二进制文件。
2.
FILE *fp; // 定义文件指针
fp = fopen("f1.txt", "r"); // 打开文件
fopen( )的返回值是一个文件指针
(第一个引号中表示文件名,可包含路径和文件名;第二个引号中表示文件打开方式)
3.
fclose( fp ); /* 关闭文件 */
用来关闭一个由函数fopen( )打开的文件
(函数fclose()返回一个整型数。当文件关闭成功时,返回0值,否则返回一个非0值。)
4.
fp = fopen("f1.txt", "r"); // 打开文件
fscanf( fp, “%d”, &m ); // 对文件执行读操作
不是从键盘读入数据,而是从fp关联的文件中读入数据。
5.
fp = fopen("f1.txt", "w"); /* 打开文件 */
fprintf( fp, “%s”, “Hello World! ” ); /* 对文件执行写操作*/
不是将文字输出到屏幕,而是输出到fp关联的文件。
6. 格式化文件读/写函数fscanf( ) / fprintf ( )
字符读/写函数fgetc ( ) / fputc ( )
字符串读/写函数fgets ( ) / fputs ( )
数据块读/写函数fread( ) / fwrite ( )
三.例子
#include <stdio.h>
#include <stdlib.h>
int main( )
{int m ;FILE *fp; // 定义文件指针if( ( fp = fopen(“f1.txt”, “r”) ) == NULL) { //如果 打开文件失败printf("File open error!\n");exit(0); }fscanf( fp, “%d”, &m ); // 对文件执行读操作printf( "%d\n" , m ) ;if( fclose( fp ) )//当文件关闭成功时,返回0值,否则返回一个非0值.{ //如果关闭文件失败printf( "Can not close the file!\n" );exit(0); }return 0;
}
exit(0);
的作用是终止程序的执行并返回退出码0
,表示程序正常退出。
在C语言中,break
语句通常用于终止循环语句(如for
、while
、do-while
循环)的执行(终止语句的执行),而不是用于终止整个程序的执行。