热搜关键词: 电路基础ADC数字信号处理封装库PLC

pdf

C语言标准函数集

  • 1星
  • 2015-01-01
  • 239.05KB
  • 需要1积分
  • 2次下载
标签: C语言

C语言

C语言相关函数,用于查阅C语言函数

C
标准库
C
标准库.........................................................................................................................................1
1
输入与输出
<stdio.h>..................................................................................................................1
2
字符类测试
<ctype.h>...............................................................................................................19
3
字符串½数
<string.h>...............................................................................................................22
4
数学½数
<math.h>....................................................................................................................29
5
实用½数
<stdlib.h>...................................................................................................................35
6
诊断
<assert.h>..........................................................................................................................43
7
变长变元表
<stdarg.h>..............................................................................................................44
8
非局部跳½
<setjmp.h>.............................................................................................................45
9
信号处理
<signal.h>...................................................................................................................46
10
日期与时间½数
<time.h>.......................................................................................................48
11
由实现定义的限制
<limits.h>
<float.h>................................................................................52
本文包括大部分 C 标准库½数,½没有列出一些用途有限的½数以及某些可以简单的从其
他½数合成的½数,也没有包含多字节和本地化½数。
标准库中的各个½数、类型以及宏分别在以下标准头文件中说明:
<assert.h>
<ctype.h>
<errno.h>
<float.h>
<limits.h>
<locale.h>
<math.h>
<setjmp.h>
<signal.h>
<stdarg.h>
<stddef.h>
<stdio.h>
<stdlib.h>
<string.h>
<time.h>
1 输入与输出<stdio.h>
头文件<stdio.h>定义了用于输入和输出的½数、
类型和宏。
最重要的类型是用于声明文件指
针的 FILE。另外两个常用的类型是 size_t 和 fpos_t,size_t 是由运算符 sizeof 产生的无
符号整类型;fpos_t 类型定义½够唯一说明文件中的每个½½的对象。由头部定义的最有
用的宏是 EOF,其值代表文件的结尾。
1.1 文件操½
1.1.1 fopen
#include <stdio.h>
FILE *fopen(const char *filename, const char *mode);
返回:成功为 FILE 指针,失败为 NULL
打开以 filename 所指内容为名字的文件,返回与之关联的流。
mode 决定打开的方式,可选值如下:
"r"
"w"
"a"
"rb"
"wb"
"ab"
"r+"
"w+"
"a+"
"rb+"或"r+b"
"wb+"或"w+b"
"ab+"或"a+b"
打开文本文件用于读
创建文本文件用于写,并删除已存在的内容(如果有的话)
添加;打开或创建文本文件用于在文件末尾写
打开二进制文件用于读
创建二进制文件用于写,并删除已存在的内容(如果有的话)
添加;打开或创建二进制文件用于在文件末尾写
打开文本文件用于更新(即读和写)
创建文本文件用于更新,并删除已存在的内容(如果有的话)
添加;打开或创建文本文件用于更新和在文件末尾写
打开二进制文件用于更新(即读和写)
创建二进制文件用于更新,并删除已存在的内容(如果有的话)
添加;打开或创建二进制文件用于更新和在文件末尾写
后六种方式允许对同一文件进行读和写,要注意的是,在写操½和读操½的交替过程中,
必须调用 fflush()或文件定½½数如 fseek()、fsetpos()、rewind()等。
文件名 filename 的长度最大为 FILENAME_MAX 个字符,一次最多可打开 FOPEN_MAX 个文件
(在<stdio.h>中定义)。
1.1.2 freopen
#include <stdio.h>
FILE *freopen(const char *filename, const char *mode,
FILE *stream);
返回:成功为 stream,失败为 NULL
以 mode 指定的方式打开文件 filename,并½该文件与流 stream 相关联。freopen()先尝试
关闭与 stream 关联的文件,不管成功与否,½继续打开新文件。
该½数的主要用途是把系统定义的标准流 stdin、stdout、stderr 重定向到其他文件。
1.1.3 fflush
#include <stdio.h>
int fflush(FILE *stream);
返回:成功为 0,失败返回 EOF
对输出流(写打开),fflush()用于将已写到缓冲区½尚未写出的全部数据½写到文件中;
对输入流,其结果未定义。如果写过程中发生错误则返回 EOF,正常则返回 0。
fflush(NULL)用于刷新所有的输出流。
程序正常结束或缓冲区满时,缓冲区自动清仓。
1.1.4 fclose
#include <stdio.h>
int flcose(FILE *stream);
返回:成功为 0,失败返回 EOF
刷新
stream 的全部未写出数据,丢弃任½未读的缓冲区内的输入数据并释放自动分配的缓
冲区,最后关闭流。
1.1.5 remove
#include <stdio.h>
int remove(const char *filename);
返回:成功为 0,失败为非 0 值
删除文件 filename。
1.1.6 rename
#include <stdio.h>
int rename(const char *oldfname, const char *newfname);
返回:成功为 0,失败为非 0 值
把文件的名字从 oldfname
改为
newfname。
1.1.7 tmpfile
#include <stdio.h>
FILE *tmpfile(void);
返回:成功为流指针,失败为 NULL
以方式"wb+"创建一个临时文件,并返回该流的指针,该文件在被关闭或程序正常结束时被
自动删除。
1.1.8 tmpnam
#include <stdio.h>
char *tmpnam(char s[L_tmpnam]);
返回:成功为非空指针,失败为 NULL
若参数
s 为 NULL(即调用 tmpnam(NULL)),½数创建一个不同于现存文件名字的字符串,并
返回一个指向一内部静态数组的指针。
s 非空,则½数将所创建的字符串存储在数组 s 中,并将它½为½数值返回。s 中至少要
有 L_tmpnam 个字符的空间。
tmpnam ½数在每次被调用时均生成不同的名字。在程序的执行过程中,最多只½确保生成
TMP_MAX
个不同的名字。注意 tmpnam ½数只是用于创建一个名字,而不是创建一个文件。
1.1.9 setvbuf
#include <stdio.h>
int setvbuf(FILE *stream, char *buf, int mode, size_t size);
返回:成功返回 0,失败返回非 0
控制流
stream 的缓冲区,这要在读、写以及其他任½操½之前设½。
如果 buf 非空,则将 buf 指向的区域½为流的缓冲区,如果 buf 为 NULL,½数将自行分配
一个缓冲区。
size 决定缓冲区的大小。
mode 指定缓冲的处理方式,有如下值:
_IOFBF,进行完全缓冲;
_IOLBF,对文本文件表示行缓冲;
_IOLNF,不设½缓冲。
1.1.10 setbuf
展开预览

猜您喜欢

评论

登录/注册

意见反馈

求资源

回顶部

推荐内容

热门活动

热门器件

随便看看

  • 【GD32E503评测】Part1:激动的开箱
    1.介绍开始是最激动,这块开发板其实挺想要的,申请后真的中了,其实想要这块开发板的主要原因是因为这个开发板带屏幕呀!以往很多开发板都是不带屏幕的,需要自己上屏,但是我拥有的屏幕比较少,所以就很想要这块开发板。2.开箱收到的时候是一个很大盒子装着的,打开后可以看到GD32的开发板包装还是很不错的,白色的我挺喜欢的,包装盒如下图所示,LOGO也是很好看的。打开盒子之后,可以看到用防静电包装的开发板,和
  • 关于血型的可爱漫画
    关于血型决定性格,还有星座预测这类玩意儿,向来觉得不太靠谱。。。所以,造成在办公室美女们N次饭后关于星座还有血型的大讨论中,我只能闷头吃饭。。。。。如果按照漫画里面来看,那我应该是B型血吧~~~~~ [img]http://www.u148.net/images/smilies/Face_17.gif[/img]不过这几幅漫画很是惹人喜欢。权当是消遣吧~~~期待着在吧里掀起一次女生的星座讨论狂潮~
  • 两个单片机之间使用SPI通信的存在的问题
    目标是实现两个单片机之间使用SPI通信,两个单片机都连着上位机,目标是在串口助手上,上位机甲发送一个字符给上位机乙。代码如下:# include //头文件# include //头文件# define uchar unsigned char# define uint unsigned intsbit SCK = P1^0;//位定义时钟sbit CS = P1^1;//位定义片选(使能)sbit
  • vxworks 下应用xml
    我现在有个工程需要在VxWorks下面使用xml解析器,目前找到了 几种库的源文件 libxml2和tinyxml ,前者我不知道在tornado下如何编译,而且还需要iconv的库,比较麻烦没搞懂,另外一种是tinyxml,在tornado下编译通过了,下载到vxworks下面就报告一大堆Undefined symbol:运行测试的函数就死机了,现在不知道怎么弄了,求各位大侠帮办忙,有没有什么好
  • DIY湿度计设计思路:STC12C2052+RS232分立件+SHT2X
    实际RS232用分立元件也很好用,电路更简洁,如图二:P1口和部分P3口可灵活运用,
  • 嵌入式实时系统开发的正确选择
  • Nvidia GeForce 7300 LE 和 Nvidia Geforce4 MX440 with AGP8x 哪个显卡性能好些?
  • 软核 硬核 固核
  • 【低功耗】FPGA资源动态重构及低功耗研究
  • WinCE安装oracle问题

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
×