格式化输入(scanf)输出(printf)函数
来源:互联网 发布:该域名升级访问中 编辑:程序博客网 时间:2024/06/05 09:27
格式化输出函数printf与格式化输入函数scanf是我们经常需要使用的函数,用来输出和输入的。
下面的例子,用来实现从键盘获取不同类型的数据并输出。
#include <stdio.h>#include <stdlib.h>int main(){ int i; int j = 0; int num; char ch; long l_num; float f_num; double d_num; char *src; char ptr[100]; int a[3]; printf("input a num:"); scanf("%d", &num); printf("num = %d\n",num); printf("input a char1:"); scanf("%c", &ch); printf("ch = %c\n", ch); printf("input a char2:"); getchar(); putchar(ch); printf("input a long :"); scanf("%ld", &l_num); printf("l_num = %ld\n", l_num); printf("input a float:"); scanf("%f", &f_num); printf("f_num = %f\n", f_num); printf("input a double:"); scanf("%lf", &d_num); printf("d_num = %lf\n", d_num); src = ( char *) malloc ( sizeof ( char *)); printf("input a str:"); scanf("%c", src); printf("src = %c\n", *src); printf("input a ptr1:"); scanf("%s", ptr); printf("ptr1 = %s\n", ptr); printf("input a ptr2:"); while( ptr[j] != '\0') { scanf("%c", &ptr[j]); j++; }
printf是一个行缓冲函数,先写到缓冲区,满足条件后,才将缓冲区刷到对应文件中,刷缓冲区的条件如下:
- 缓冲区填满
- 写入的字符中有‘\n’’\r’
- 调用fflush手动刷新缓冲区
- 调用scanf要从缓冲区中读取数据时,也会将缓冲区内的数据刷新
满足上面4个条件之一缓冲区就会刷新,也就是printf会真正调用write来写入。
printf函数的使用技巧
颜色代码:
QUOTE:
字背景颜色范围: 40–49 字颜色: 30–39
40: 黑 30: 黑
41: 红 31: 红
42: 绿 32: 绿
43: 黄 33: 黄
44: 蓝 34: 蓝
45: 紫 35: 紫
46: 深绿 36: 深绿
47: 白色 37: 白色
ANSI控制码:
QUOTE:
\033[0m 关闭所有属性
\033[1m 设置高亮度
\03[4m 下划线
\033[5m 闪烁
\033[7m 反显
\033[8m 消隐
\033[30m – \033[37m 设置前景色
\033[40m – \033[47m 设置背景色
\033[nA 光标上移n行
\03[nB 光标下移n行
\033[nC 光标右移n行
\033[nD 光标左移n行
\033[y;xH设置光标位置
\033[2J 清屏
\033[K 清除从光标到行尾的内容
\033[s 保存光标位置
\033[u 恢复光标位置
\033[?25l 隐藏光标
\33[?25h 显示光标
这样, 在某些时候就可以实现动态的输出.
scanf函数在输入数据时,遇到以下情况认为该情况结束:
- 遇到空格,TAB,或回车
- 与宽度结束
- 与非法输入
scanf函数有可能会留下一些“垃圾”数据,我们可以用以下的方法来解决:
- 用getchar()清除
- 用格式串中空格或“%*c”来吃掉
- 格式化输入(scanf)输出(printf)函数
- C语言--格式化输入/输出函数(printf/scanf,fprintf/fscanf,sprintf,sscanf)
- C语言输入(scanf)输出(printf)函数
- 格式化的输入scanf输出printf
- C程序设计语言- 输入与输出-6.1----标准输入与输出、格式化输出(printf)、变长参数表、格式化输入(scanf)、文件访问
- 第二天-输入(scanf)输出(printf)函数
- scanf和printf函数家族用于格式化输入和输出(转)
- 输入与输出函数(printf、putchar、puts和scanf、getchar)
- c++基础之输入(scanf)和输出(printf)
- C语言之格式化输入(printf函数和scanf函数)
- c语言格式化输出函数printf()
- c语言格式化输出函数printf()
- C语言输出函数(printf)和输入函数(scanf)
- 用scanf和printf函数进行输入和输出.cpp
- scanf函数格式化输入
- 格式化输出函数printf
- 格式化输出函数printf()
- day02 格式化输出 算数运算符 scanf函数(下)
- canvas画正六边形
- AndroidStudio生成自定义的混淆jar包(同时将assets目录打入jar包)(二)(by 星空武哥)
- D3.js Scale 和Axis
- 第一次上这个网站,希望能坚持
- 前端实际应用过程的问题总结
- 格式化输入(scanf)输出(printf)函数
- obs-studio的源
- C语言对字符串的操作
- c语言编程基础知识理解for循环篇
- Android Butterknife 8.4.0 使用方法总结
- Extjs获取JSON数据和遍历集合
- CODEVS 1052地鼠游戏
- 文山市房价分析(一)数据收集
- RabbitMQ Cluster操作