C输入输出/文件

输入

scanf

123abcd$myname@000qwe

scanf("%[]");
123abcd$myname@000qwe
scanf("%[^$]$%[^@]@%s", a, b, c);
/*
[读取这里面有的字符]
[^不能是这里面的字符]
%*d%s, 忽略前面的数字, 取后面的字符
*/

sscanf

从str指定的字符串读取数据,并根据参数format字符串来转换并格式化数据

int sscanf(const char *str, const char *format, ...);

fscanf

从stream指定的文件读取字符串,并根据参数format字符串来转换并格式化数据

int fscanf(FILE * stream, const char * format, ...);

getchar

//接收一个字符
char a;
a=getchar();
//可以用来读走\n

gets

容易造成缓冲区溢出, 因为必须读到文件结尾或者换行符才停止

char a[100];
gets(a);

fgets

从stream指定的文件内读入字符,保存到s所指定的内存空间,直到出现换行字符、读到文件结尾或是已读了size - 1个字符为止,最后会自动加上字符 ‘\0’ 作为字符串结束。

char *fgets(char *s, int size, FILE *stream);
//返回值: 读到文件末尾或者出错:NULL

fgetc

从stream指定的文件中读取一个字符

int fgetc(FILE * stream);

fread

以数据块的方式从文件中读取内容

size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);

输出

printf

%p 内存地址
%e 科学计数法
- 左对齐
m.n: m 占的位数 n小数点位数


spfintf

根据参数format字符串来转换并格式化数据,然后将结果输出到str指定的空间中,直到出现字符串结束符 ‘\0’ 为止

int sprintf(char *_CRT_SECURE_NO_WARNINGS, const char *format, ...);

fprintf

根据参数format字符串来转换并格式化数据,然后将结果输出到stream指定的文件中,指定出现字符串结束符 ‘\0’ 为止

int fprintf(FILE * stream, const char * format, ...);

putchar

//输出一个字符
char a='a';
putchar(a);

puts

标准设备输出s字符串,在输出完成后自动输出一个’\n’

fputs

将str所指定的字符串写入到stream指定的文件中, 字符串结束符 ‘\0’ 不写入文件

int fputs(const char * str, FILE * stream);

fputc

将ch转换为unsigned char后写入stream指定的文件中

int fputc(int ch, FILE * stream);

fwrite

以数据块的方式给文件写入内容

size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream);

文件

fseek

移动文件流(文件光标)的读写位置
SEEK_SET:从文件开头移动offset个字节
SEEK_CUR:从当前位置移动offset个字节
SEEK_END:从文件末尾移动offset个字节
正数向右 负数向左

int fseek(FILE *stream, long offset, int whence);

ftell

获取文件流(文件光标)的读写位置

long ftell(FILE *stream);

ftell

把文件流(文件光标)的读写位置移动到文件开头

void rewind(FILE *stream);

stat

获取文件状态信息

int stat(const char *path, struct stat *buf);

remove

删除文件

int remove(const char *pathname);

rename

改变文件路径, 改变文件名

int rename(const char *oldpath, const char *newpath);

fflush

更新缓冲区,让缓冲区的数据立马写到文件中

int fflush(FILE *stream);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值