高质量C编程04-输入输出
来源:互联网 发布:手机搞怪p图软件 编辑:程序博客网 时间:2024/06/05 02:32
传送门《高质量C编程教程汇总》
说明:以下所有下划线符号 _
均表示空格
一.控制台函数
1.scanf()函数
函数原型:int scanf("%_",&_);
(1)scanf()
函数接收输入数据时默认不采集空格,回车,跳格这些空白字符.但使用%c
读取数据时除外
(2)在控制字符串中添加一个或多个空白字符表示忽略空白字符录入
//例1void main(){ char ch1,ch2; scanf("%c%c",&ch1,&ch2); printf("*%c*%c*%c",ch1,ch2);}//输入:__ab//输出:*_*_*
//例2void main(){ char ch1,ch2; scanf("_%c_%c",&ch1,&ch2); printf("*%c*%c*%c",ch1,ch2);}//输入:__a__b//输出:*a*b*
(3)scanf中的%[ ]
格式控制符
①%[指定可输入字符集]
②%[^指定不可输入字符集]
//例1void main() | void main(){ | { char str[100]; | char str[100]; scanf("%[abcdef]",str); | scanf("%[^abcdef]",str); printf("%s\n",str); | printf("%s\n",str);} | } |//input:abczabc | //input:xyzaxyz//output:abc | //output:xyz
结论:%[]
格式输入非法字符则结束
//例2void main() | void main(){ | { char str[20]; | char str[20]; scanf("%s",str); | scanf("%[^\n]",str); printf("%s\n",str); | printf("%s\n",str);} | } |//input:abc_abc | //input:abc_abc//output:abc | //output:abc_abc
结论:%s
格式输入字符串到 _ 则结束
2.printf()函数
常用附加输出格式控制字符
对字符串,指定实际输出位数 - 输出数据在域内左对齐(缺省右对齐) 0 输出数值时指定左边不实用空位置自动填0 # 在八进制和十六进制数前显示0/0x
3.其他输入输出函数
(1)putchar('A');
(2)ch = getchar();
(3)puts("string");
(4)gets(str);
注意:gets的缺陷:
gets当指定的空间不够存储要输入的字符串时没有任何拦截!(不会对字符串越界作检查)
(5)fgets(buff,sizeof(buff),stdin);
//stdin标准输入
优点:对越界进行检查,自动截断,最多存sizeof(buff)-1
个
缺点:会把\n
存入,buff[strlen(buff)-1]=0
清除\n
(6)fputs(buff,stdout);
//stdout标准输出
4.转义字符及其作用
二.文件操作函数
1.VC++6.0中FILE结构体
C语言中,每个被使用的文件都在内存中开辟一块内存,用来存放文件的有关信息.这些信息都保存在一个结构体变量中.
struct _iobuf{ char *_ptr;//pointer to next character position int _cnt;//number of characters left in buffer char *_base;//pointer to start of buffer int _flag; int _file; int _charbuf; int _bufsize;//size of buffer being used char *_tmpfname;}typedef struct -iobuf FILE;
2.文件打开函数-fopen()
(1)调用方式:
FILE *fp;fp = fopen("文件名","使用文件方式");
(2)返回值
成功时:返回指明流的指针
失败时:返回一个空指针NULL
(3)使用后应判断返回值是否为NULL
if (NULL == (fp = fopen("file","r"))){ printf("can not open this file\n"); exit(0);//关闭所有文件(stdlib.h)}
3.文件关闭函数-fclose()
(1)调用方式
fclose(fp)
(2)返回值
顺利关闭时:返回值为0
否则:返回EoF(-1)
(3)判断 ferror(fp)
4.文件定位函数
(1)fseek()函数 fseek(文件类型指针,位移量,起始点)
位移量为long
型数据,通常在数字末尾加L
,就表示long
型
(2)ftell()函数 ftell(fp)
作用:得到流式文件中的当前位置
引用:
i = ftell(fp);
if (i == -1L)
printf("error\n");
(3)rewind()函数 rewind(fp)
作用:使位置指针重新返回文件的开头
5.文件末尾判断函数-feof()
feof(fp)
到文件末尾时feof(fp)值为1,否则为0
6.文件读取函数-fread()
(1)函数原型
fread(buffer,size,count,fp);
- buffer:一个指针,对于fread读入数据的存放地址,起始地址
- size:要读取的字节数
- count:要进行读取多少个size字节的数据项
- fp:文件类型指针
(2)返回值
调用成功,函数返回值为count
7.文件写入函数-fwrite()
(1)函数原型
fwrite(buffer,size,count,fp);
- buffer:对于fwrite,是输出数据的地址,起始地址
- 高质量C编程04-输入输出
- 高质量C编程指南
- 高质量c/c++编程
- 高质量c c++编程
- 高质量编程C/C++
- 读书笔记---高质量C编程
- 高质量C\C++编程
- 高质量C/C++编程
- 高质量C++/C编程指南(参考文献)
- 高质量C++/C编程指南
- 高质量C++/C编程指南
- 高质量C++/C 编程指南
- 读《高质量C++/C编程指南》
- 高质量C++/C编程指南
- 高质量C++/C编程指南
- 高质量C++/C编程指南
- 高质量C++/C编程指南 -- 前言
- 高质量C++/C编程指南
- Mysql之触发器trigger
- opencv remap基础例子:缩小图片
- 二分法查找的原理
- myphpadmin导入数据库文件最大限制2048KB的修改办法
- 模块化指令应用01(从html文件加载指令模板)
- 高质量C编程04-输入输出
- 笔记 - 颜色列表
- json-lib 输出父子级联对象
- 虚拟地址和物理地址
- 归并排序算法(C++实现)
- Qualcomm MSM GPIO-KEY device tree
- iOS开发——你真的会用SDWebImage?
- 水题小技巧
- Quartz与Spring的集成