C语言学习--标准输入输出与文件操作
2014-08-31 14:17
267 查看
C语言的I/O函数介绍
C语言的输入输出函数定义在stdio.h里。本文主要介绍scanf / printf / gets / puts / fopen / fgets / fputs 这几个函数的用法。
一. 标准输入/输出
用法举例:
程序片:
输入与输出:
注:printf()函数不会自动输出到新的一行,需要手动使用"\n"指定在何处输出新的一行,例如:printf("123\n456");
用法举例:
程序片:
输入与输出:
1.fopen()
函数原型及说明:
C语言的输入输出函数定义在stdio.h里。本文主要介绍scanf / printf / gets / puts / fopen / fgets / fputs 这几个函数的用法。
一. 标准输入/输出
1.scanf() 与 printf()
函数原型及说明:int scanf(const char *format, ...); //scanf() 函数从标准输入设备stdin读取数据,返回与格式化字符串format成功匹配的个数。 int printf(const char *format, ...);<pre name="code" class="cpp">//scanf()函数将指定的字符串输出到标准输出设备stdout,如果成功,则返回输出的字符数(不包括字符串结束标识'\0'),否则,返回一个负数。
用法举例:
程序片:
char* input = malloc(32*sizeof(char)); scanf("%s",input); printf("%s",input); free(input);
输入与输出:
[liuyz@localhost Desktop]$ gcc -std=c99 -o StdInOutDemo.o StdInOutDemo.c [liuyz@localhost Desktop]$ ./StdInOutDemo.o who are you ? who[liuyz@localhost Desktop]$
注:printf()函数不会自动输出到新的一行,需要手动使用"\n"指定在何处输出新的一行,例如:printf("123\n456");
2.gets()与puts()
函数原型及说明:char *gets(char *s); //gets()函数从标准输入设备stdin读取一行,然后将读取的数据存储到s指向的内存块中。 //它将在这行数据的最后添加'\n'。如果成功则返回s,失败则返回NULL。 //它不检查s是否足够大以存储读取的数据,所以它不安全。 int puts(const char *s); //puts()函数将s和一个换行符下到标准输出设备stdout。如果成功,则返回一个非负数;否则,返EOF
用法举例:
程序片:
gets(input); puts(input);
输入与输出:
[liuyz@localhost Desktop]$ ./StdInOutDemo.o who are u ? who are u ? [liuyz@localhost Desktop]$注:使用gets()函数的程序在编译是会给出一个警告,因为它是不安全的,所以不建议使用该函数。
二. 文件操作
1.fopen()
函数原型及说明:FILE *fopen(const char *path, const char *mode); //以mode模式打开path指定的文件。如果成功,返回一个FILE指针;否则,返回NULL。 //mode: //r:只读模式,从文件开始处读 //r+:读写模式,从文件开始处读写,覆盖源文件的内容 //w:只写模式,从文件开始处写,清空源文件;文件不存在则新建之 //w+:读写模式,从文件开始处读写,清空源文件;文件不存在则新建之 //a:写模式,在文件末尾写入数据;文件不存在则创建之 //a+:读写模式,从文件开始处读,在文件末尾写入数据;文件不存在则创建之用法举例:
FILE* fp=fopen("test.txt","r");
2.fgets()和fputs()
函数原型及说明:char *fgets(char *s, int size, FILE *stream); //fgets()函数从stream中读取至多size-1个字符并把它存储到s指向的内存块中,读到EOF或者读完一行停止,并在最后添加'\0'。 //如果stram为stdin,则该函数等价于gets()。 //如果成功,返回s;否则,返回NULL。 int fputs(const char *s, FILE *stream); //fputs()把s写到stream,不包括s的结束标识'\0'。如果成功,则返回一个非负数;否则,返回EOF。 //如果stream为stdout,则该函数等价于puts()。用法举例:
//读取一个文件并输出到标准输出设备stdout FILE* fp=fopen(fileName,mode); if(fp) { char* p=malloc(bufSize*sizeof(char)); while(p=fgets(p,bufSize,fp)) { fputs(p,stdout); } } fclose(fp);
3.fclose()
函数原型及说明:int fclose(FILE *fp); //fclose()函数将output写入并关闭文件。如果成功,则返回0;否则,返回EOF。注:文件使用完毕要记得关闭,以免引起其他问题。
相关文章推荐
- Python学习笔记015——文件file的常规操作之三(标准输入输出文件)
- 文件操作03 - 零基础入门学习C语言62
- 文件操作04 - 零基础入门学习C语言63
- 黑马程序员-[C语言-指针和文件操作]学习日记(四)
- C语言学习之文件操作(含重庆大学研究生程序设计大赛的题目和解答)
- c语言学习之基础知识点介绍(十六):文件操作
- 文件操作02 - 零基础入门学习C语言61
- Win32 环境下C语言标准文件操作的某怪异问题的分析
- [FileIO]C语言中流与文件操作编程学习
- 学习C语言对文件的操作函数
- c++学习笔记01-输入输出流&&文件输入输出操作
- 文件操作03 - 零基础入门学习C语言62
- C语言标准文件操作函数
- c语言中对于文件操作的一些学习
- C语言标准I/O文件操作
- C语言输入输出与文件操作
- 文件操作01 - 零基础入门学习C语言60
- 学习笔记之java---文件操作之输入输出
- 【C语言提高45】【文件操作API】----- 标准文件的读写
- c语言学习笔记之文件操作