printf & scanf格式化输入输出
printf
%[flags][width][.prec][hlL]type
| flags | 含义 |
|---|---|
| - | 左对齐(默认右对齐) |
| + | 在前面放+(一般用来表示正数) |
| (space) | 正数留空 |
| 0 | 用0填充 |
#include <stdio.h>
int main()
{
printf("%09d\n",666);
printf("%- d\n",666);
return 0;
}

| width或prec | 含义 |
|---|---|
| number | 最小字符数 |
| * | 下一个参数是字符数 |
| .number | 小数点后的位数 |
| .* | 下一个参数是小数点后的位数 |
#include <stdio.h>
int main()
{
printf("%09.3d\n",666);
printf("%*.*d\n",9,3,666);
return 0;
}

| [hlL]类型修饰符 | 含义 |
|---|---|
| hh | 单个字节 |
| h | short |
| l | long |
| ll | long long |
| L | long double |
| type | 用于 |
|---|---|
| i/d | int |
| u | unsigned int |
| o | 八进制 |
| x(X) | 十六进制(字母部分大写) |
| a、A | 十六进制浮点 |
| f、F | float,6 |
| g、G | float |
| e、E | 指数 |
| c | char |
| s | 字符串 |
| p | 指针 |
| n | 读入/写出的个数 |
#include <stdio.h>
int main()
{
int num;
printf("%djj%n\n",666,&num);
printf("%d\n",num);
return 1;
}

scanf
%[flags]type
| flag | 含义 |
|---|---|
| * | 跳过 |
| 数字 | 最大字符数 |
| hh | char |
| h | short |
| l | long/double |
| ll | longlong |
| L | long double |
| type | 含义 |
|---|---|
| d | int |
| i | 整数(各种进制) |
| u | unsigned int |
| o | 八进制 |
| x | 十六进制 |
| a,e,f,g | float |
| c | char |
| s | 字符串 |
| p | 指针 |
| […] | 所允许的字符 |
scanf和printf的返回值
#include <stdio.h>
int main()
{
int num;
int i1 = scanf("%d",&num);
int i2 = printf("%d\n",num);
printf("%d:%d\n",i1,i2);
return 0;
}

printf的字符数包括后面的\n
文件输入输出
重定向>.<
假如我们用的是scanf和printf做输入输出,则可以使用重定向进行文件的读写
#include <stdio.h>
int main()
{
int num;
int i;
for (i=0;i<3;i++){
scanf("%d",&num);
printf("%d\n",num);
}
return 0;
}

FILE
FILE* fopen(const char * restrict path,const char * restrict mode) 打开文件
int fclose(FILE * stream)
fscanf(FILE*,…) 文件读
fprintf(FILE*,…) 文件写
以只读方式打开文件
#include <stdio.h>
int main()
{
FILE* fp = fopen("123.in","r");
if (fp){
int num;
fscanf(fp,"%d",&num);
printf("%d\n",num);
fclose(fp);
} else {
printf("file is not exist\n");
}
return 0;
}

| fopen模式参数 | 介绍 |
|---|---|
| r | 只读方式打开 |
| r+ | 读写方式打开,从文件头开始 |
| w | 只写方式打开,不存在就新建,存在则清空 |
| w+ | 读写方式打开,不存在就新建,存在则清空 |
| a | 打开追加,不存在就新建,存在则从文末添加 |
| …x | 只新建,如果文件已存在则不能打开 |
本文详细解析了C语言中printf和scanf函数的使用方法,包括格式化字符串、宽度和精度控制、类型修饰符等,同时介绍了文件输入输出操作,如fopen、fclose、fscanf和fprintf函数的使用。
3823

被折叠的 条评论
为什么被折叠?



