通过本文主要向大家介绍了linux标准输入输出,标准输入输出,java标准输入输出,c语言标准输入输出,标准输入输出函数等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
Linux 使用strerror 和 perror 函数来打印响应的错误信息 ,这两个函数的标准调用格式说明如下:
#include<string.h> char *strerror(int errnum) #include<stdio.h> void perror(const char *msg)</div>
strerror函数的返回值是一个指向消息字符串的指针,这个消息字符串即为出错信息的字符串
perror函数没有返回值,其输出如下:
“由msg指针指向的字符串” + “:” + errno + “回车换行”
#include<stdio.h>
#include<string.h>
#include<errno.h>
int main(int argc, char *argv[])
{
printf("EACCES:%s\n", strerror(EACCES));//打印没有权限错误信息
errno = EHOSTDOWN;//EHOSTDOWN 服务器关闭
perror(argv[0]);
return 0;
}
</div>

标准输入输出函数
标准输出函数
printf函数用于将格式化数据输出,其标准调用格式如下:
#include<stdin.h> printf(const char *format, …);</div>
其参数是format是一个字符串,包含字符,字符序列,和格式说明,其中字符部分与字符序列按顺序输出,而格式说明以”%”开始,格式说明是跟随的相同序号数据按格式说明转换和输出.
printf函数的格式说明结构为:%flags_width.precicion_{b|B|l|L}_type
type:用来说明参数是字符串,字符,数字或者指针字符
printf函数的type参数
| type | 输出结果 |
|---|---|
| D | 有符号十进制数 |
| U | 无符号十进制数 |
| O | 无符号八进制数 |
| x | 无符号十六进制数,使用小写 |
| X | 无符号十六进制数,使用大写 |
| f | 格式为[-]ddd.ddd的浮点数 |
| e | 格式为[-]ddde+dd的浮点数 |
| E | 格式为[-]dddE+dd的浮点数 |
| g | 使用f或者e中比较合适形式的浮点数 |
| G | 使用f或者E中比较合适形式的浮点数 |
| c | 单字符常数 |
| s | 字符串常数 |
| p | 指针 |
| n | 无输出但在下一参数所指整数中写入字符串 |
| % | ”%”字符 |
b,B,l,L用于type之前,说明整型d,i,u,o,x,X的char或者long转换
flags是标志
printf函数flags参数
| flags | 作用 |
|---|---|
| - | 左对齐 |
| + | 有符号,数值总是以正负号开始 |
| 空格 | 数字总是以符号或者空格开始 |
| * | 忽略 |
width是域宽
precision精度,对于不同类型的意义不同,可能引起结尾或者舍入
printf函数的precision精度
| 数据类型 | 说明 |
|---|---|
| d,u,o,x,X | 输出数字的最小位,输出数字超出也不截断尾 ,如果超出在左边,则填入0 |
| f,e,E | 输出数字的小数位,末位四舍五入 |
| g,G | 输出数字的有效位 |
| c,p | 无影响 |
| s | 输出字符的最大字符数,超出部分将不显示 |
标准输入函数
scanf函数用于用户向程序输入数据,其调用格式如下:
#include<stdin.h> scanf(const char *format,...)</div>
示例:
#include<stdio.h>
int main(int argc,char *argv[])
{
char str[30];
printf("输入一个字符串\n");
scanf("%s", str);//输入一个字符串
printf("str=%s\n",str);//打印字符串
int a = -128;
printf("%d\n", a);//打印有符号整数
printf("%u\n", a);//打印无符号整数
int b = 10;
printf("%x\n", b);//打印16进制数,小写
printf("%X\n", b);//打印16进制数,大写
float c = 1.221121;
printf("%f\n", c);//打印浮点数
printf("%-.3f\n", c);//打印有效位数为3,左对齐的浮点数
return 0;
</div>

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
</div>
