详细解读C++常用库函数C函数库cstdio

简介: 详细解读C++常用库函数C函数库cstdio

常用的C/C++函数库,

cstdio(stdio.h)

标准输入输出库。C Standard Input and Output Library

1. 实例

1 #include

2 int main(){

3 FILE pfile;

4 char char1【20】;

5 for(int i=1;i<=10;i++){

6 //用sprintf把文件(包括相对路径)的名字放到char1里面

7 sprintf(char1,"rename/%d.txt",i);

8 //用w方式建立文件

9 pfile=fopen(char1,"w");

10 if(pfile!=0){

11 //创建成功,用fprintf把数字放进字符串里面写入该文件

12 fprintf(pfile,"I am %d .txt",i);

13 fclose(pfile);

14 }//代码效果参考:http://www.ezhiqi.com/bx/art_4863.html

15 }//代码效果参考:http://www.ezhiqi.com/bx/art_2709.html

16 return 0;

17 }//代码效果参考:http://www.ezhiqi.com/bx/art_4675.html

实现功能:在rename文件夹里面,建立1.txt~10.txt,并在里面写入"I am .txt" *为1~10.

在命令行里面切换到该.cpp文件所在目录(确保该目录已经建立rename文件夹),用cl 命令编译连接,之后运行。

2. 函数和描述

2.1 操作文件:

remove 移除文件

rename 重命名文件

tmpfile 打开临时文件

tmpnam 生成临时文件

2.2 文件访问

fclose 关闭文件

fflush flush流

fopen 打开文件

freopn 用不同的文件或者模式重新打开流

setbuf 设置流缓冲

setvfub 更改流缓存

2.3 输入输出

fprintf 输出到流

fscanf 从流中读数据

printf 打印格式化数据到stdout

scanf 从stdin里面读取格式化数据

sprintf 把格式化数据写到string

sscanf 从string读格式化数据

vfprintf 把格式化的变量参数表写到stream

vprintf 把格式化的变量参数表打印到stdout

vsprintf 吧格式化的变量参数表打印到string

2.4 字符的输入输出

fgetc 从stream里面得到char

fgets 从stream里面得到string

fputc 把char写到stream

fputs 把string写到stream

getc 从stream 得到char

getchar 从stdin得到char

gets 从stdin 得到string

putc 把char写到stream

putchar 把char 写到stdout

puts 把string 写到stdout

ungetc 从stream中舍弃char

2.5 直接输入输出

fread 从stream里面读数据块

fwrite 把数据块写到stream

2.6 文件的指针指向

fgetpos 得到在stream中的当前位置

fseek 重新放置stream位置标志

fsetpos 设置stream位置位置标志

ftell 获取stream中当前位置

rewind 设置位置标识到开始位置

2.7 错误处理

clearer 清除错误指针

feof 核对 end-of-file的指示器

ferror 核对error指示器

perror 打印出error信息

3. 其他

3.1 宏

EOF 文件结尾

FILENAME_MAX 文件名的最大长度

NULL 空指针

TMP_MAX 临时文件的数量

3.2 类型

FILE 控制stream的对象

fpos_t 确定文件中的位置的对象

size_t 没有符号的整数类型

相关文章
|
1月前
|
算法 C++ 容器
C++标准库(速查)总结
C++标准库(速查)总结
61 6
|
1月前
|
存储 算法 C++
C++ STL 初探:打开标准模板库的大门
C++ STL 初探:打开标准模板库的大门
95 10
|
28天前
|
程序员 C++ 容器
在 C++中,realloc 函数返回 NULL 时,需要手动释放原来的内存吗?
在 C++ 中,当 realloc 函数返回 NULL 时,表示内存重新分配失败,但原内存块仍然有效,因此需要手动释放原来的内存,以避免内存泄漏。
|
1月前
|
存储 程序员 C++
C++常用基础知识—STL库(2)
C++常用基础知识—STL库(2)
69 5
|
1月前
|
存储 自然语言处理 程序员
C++常用基础知识—STL库(1)
C++常用基础知识—STL库(1)
52 1
|
1月前
|
存储 前端开发 C++
C++ 多线程之带返回值的线程处理函数
这篇文章介绍了在C++中使用`async`函数、`packaged_task`和`promise`三种方法来创建带返回值的线程处理函数。
45 6
|
1月前
|
C++
C++ 多线程之线程管理函数
这篇文章介绍了C++中多线程编程的几个关键函数,包括获取线程ID的`get_id()`,延时函数`sleep_for()`,线程让步函数`yield()`,以及阻塞线程直到指定时间的`sleep_until()`。
23 0
C++ 多线程之线程管理函数
|
1月前
|
编译器 C语言 C++
C++入门3——类与对象2-2(类的6个默认成员函数)
C++入门3——类与对象2-2(类的6个默认成员函数)
23 3
|
1月前
|
编译器 C语言 C++
详解C/C++动态内存函数(malloc、free、calloc、realloc)
详解C/C++动态内存函数(malloc、free、calloc、realloc)
158 1
|
1月前
|
存储 编译器 C++
C++入门3——类与对象2-1(类的6个默认成员函数)
C++入门3——类与对象2-1(类的6个默认成员函数)
30 1