嵌入式开发之Linux系统中C语言输入输出
1、字符输出函数的用法
C语言无I/O语句,I/O操作由函数实现。在#include <stdio.h>。
字符串输出函数:格式:putchar(c)
参数:c为字符常量、变量或表达式
功能:把字符c输出到显示屏上
返回值:正常,为显示的代码值。
in_out/putchar.c例子:

putchar.c例子
2、格式输出函数的用法
格式输出函数:格式:printf(“格式控制串”, 输出表)
功能:按指定格式向显示器输出数据
输出表:要输出的数据
格式控制串:包含两种信息--格式说明:%[修饰符]格式字符,用于指定的输出格式
--普通字符:原样输出
注:格式字符:

格式字符
in_out/printf.c例子:

printf.c例子
附加格式说明符

附加格式说明符
in_out/printf1.c例子:

printf1.c例子
in_out/printf2.c例子:

printf2.c例子
in_out/printf3.c例子:

printf3.c例子
3、字符输入函数的用法
字符串输入函数:格式:getchar()
功能:从键盘读一字符
返回值:正常,返回读取的代码值。出错或者键盘输入,返回-1(ctrl d)。
in_out/getchar.c例子:

getchar.c例子

getchar.c例子
4、格式输入函数的用法
格式:scanf(“格式控制串”, 地址表)
功能:按指定格式从键盘读入数据,存入地址表指定
--存储单元中,并按回车键结束
--返回值:正常,返回输入数据个数
--地址表:变量的地址,常用取地址运算符&
格式输入函数scanf支持的格式字符:

scanf支持的格式字符
in_out/scanf.c例子:

scanf.c例子
格式输入函数scanf支持的格式字符可以带以下修饰符:

修饰符
in_out/scanf.c 年月日例子:

scanf.c 年月日例子
修改后

scanf.c 年月日例子
in_out/scanf2.c 例子:
用“%c”格式符时,回车空格和转义字符作为有效字符输入

scanf2.c 例子
注:格式输入函数,输入数据时,遇到以下情况认为该数据结束:
遇空格,TAB或回车;遇非法输入;遇宽度结束;
5、处理输入函数留下垃圾
使用输入函数可能会留下垃圾。
在in_out/scanf2.c 例子:
如回车 ASCII为10,空格为ASCII为32
方法1:用getchar()清除
in_out/scanf3.c 例子:

scanf3.c 例子
方法2:用格式串空格(“ %c”)或“%*c”来“吃掉”
in_out/scanf4.c 例子:

scanf4.c 例子

scanf4.c 例子
6、字符串输入函数的用法
字符串输入函数gets
格式:char *gets(char *s)
功能:从键盘输入一以回车结束的字符串放入字符串数组中,并自动加’\0’。
--输入串长度应小于字符数组维数
--与scanf函数不同,gets函数并不以空格作为字符串输入结束的标志。
in_out/gets.c 例子:

gets.c 例子
注:空格截止停止
7、字符串输出函数的用法
字符串输入函数puts
格式:int puts(const char *s)
功能:向显示器输出字符串(输出完,换行)
in_out/puts.c 例子:

结果:

相关推荐
-
nginx检查提示“unknown directive "stream" in /etc/*/nginx.conf”
nginx检查提示“unknown directive "stream" in /etc/*/nginx.conf”2025-02-26 00:38:21 -
php之多级目录下查找文件中是否含有某个字符串功能实现2025-02-26 00:36:35
-
mysql 启动不了1067错误如何解决?2025-02-26 00:33:31
-
MySQL简单INSERT超慢原因排查2025-02-26 00:22:42
-
mysql分布式数据库的主要构架是什么?2025-02-26 00:06:23