c语言---文件

c语言—文件

输入输出

格式化的输入输出

printf

后面%可以跟%[flags][width][.prec][hIL]type

具体说

flag含义
-左对齐
+在前面放+或者-
(space)正数留空
00填充
printf(""%9d",123);//输出占据9个字符的位置(默认右对齐)
printf(""%-9d",123);//左对齐
 printf(""%09d",123);//缺位补零
width或prec含义
number最小字符数
*下一个参数是字符数
.number小数后面的位数
/*下一个参数是小数点后面 的位数
printf("%9.2f"12.3);//一共9位数(包括小数点)小数位是2个
printf("%*d",6,123);//*对应6:说明字符数为6,输出为123(前面还有三个空格)
类型修饰符含义
hh单个字节
hshort
llong
lllong long
Llong double
printf("%hhd",12);//输出为char型

type用于
i或者dint
uunsigned int
o八进制
x十六进制
X字母大写的十六进制
f或者Ffloat
e或E指数
g或Gfloat
a或A十六进制浮点
cchar
s字符串
p指针(地址)
n读入/写出个数

scanf

后面%跟%[flag]type

具体说:

flag含义
*跳过
数字最大字符数
hhchar
hshort
llong
lllong long
Llong double
#include"stdio.h" 
void main()
{
	int num=2;
	scanf("%*d%d",&num);
	printf("输出:"); 
	printf("%d\n",num);
}

输入:12,回车,13

输出:13(自动跳过12的输入)

type用于
dint
i整数,可能为十六进制或八进制
uunsigned int
o八进制
x十六进制
a,e,f,gfloat
cchar
s字符串
p指针

printf和scanf的返回值

printf:输出的字符数

scanf:输入的项目数

#include"stdio.h" 
void main()
{
	int num;
	int i1,i2;
	i1=scanf("%d",&num);
	i2=printf("%d\n",num);
	printf("输入:"); 
	printf("i1=%d\ti2=%d\n",i1,i2);
}

结果:我输出1234加回车,所以输入为一个项目数,输出为5个字符(包括回车)

在这里插入图片描述

文件的输入输出

使用FILE

打开文件的标准代码

FILE *fp=open("file","r");//file:文件名  r:读
if(fp)
{
    fscanf(fp,....);
    fclose(fp);	//观掉文件
}
else{
    ......
}

如果没有打开这个文件,返回no

如:在当前文件夹下新建read.txt的文档。里面写入1234;

#include"stdio.h" 
void main()
{
	int num;
	FILE *fp=fopen("read.txt","r") ;
	if(fp)
	{
		printf("成功打开文档!\n");
		fscanf(fp,"%d",&num);
		printf("%d\n",num);
		fclose(fp);
	}
	else{
		printf("无法打开文档!\n");
	}
} 

结果:
在这里插入图片描述

fopen的参数

r打开只读
r+打开读写,从文件头开始
w打开只写,如果不存在则新建,存在则清空
w+打开读写,如果不存在则新建,存在则清空
a打开追加,如不存在则新建,存在则从文件尾开始
…x只新建,如果文件存在则不能打开
  • | 打开读写,从文件头开始 |
    | w | 打开只写,如果不存在则新建,存在则清空 |
    | w+ | 打开读写,如果不存在则新建,存在则清空 |
    | a | 打开追加,如不存在则新建,存在则从文件尾开始 |
    | …x | 只新建,如果文件存在则不能打开 |

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值