- 浏览: 16008 次
最新评论
linux C库函数(二)
2010年01月26日
linux-fopen-fclose-fread-fwrite等函数
clearerr(清除文件流的错误旗标)
相关函数
feof
表头文件
#include
定义函数
void clearerr(FILE * stream);
函数说明
clearerr()清除参数stream指定的文件流所使用的错误旗标。
返回值
fclose(关闭文件)
相关函数
close,fflush,fopen,setbuf
表头文件
#include
定义函数
int fclose(FILE * stream);
函数说明
fclose()用来关闭先前fopen()打开的文件。此动作会让缓冲区内的数据写入文件中,并释放系统所提供的文件资源。
返回值
若关文件动作成功则返回0,有错误发生时则返回EOF并把错误代码存到errno。
错误代码
EBADF表示参数stream非已打开的文件。
范例
请参考fopen()。
fdopen(将文件描述词转为文件指针)
相关函数
fopen,open,fclose
表头文件
#include
定义函数
FILE * fdopen(int fildes,const char * mode);
函数说明
fdopen()会将参数fildes 的文件描述词,转换为对应的文件指针后返回。参数mode 字符串则代表着文件指针的流形态,此形态必须和原先文件描述词读写模式相同。关于mode 字符串格式请参考fopen()。
返回值
转换成功时返回指向该流的文件指针。失败则返回NULL,并把错误代码存在errno中。
范例
#include
main()
{
FILE * fp =fdopen(0,”w+”);
fprintf(fp,”%s\n”,”hello!”);
fclose(fp);
}
执行
hello!
feof(检查文件流是否读到了文件尾)
相关函数
fopen,fgetc,fgets,fread
表头文件
#include
定义函数
int feof(FILE * stream);
函数说明
feof()用来侦测是否读取到了文件尾,尾数stream为fopen()所返回之文件指针。如果已到文件尾则返回非零值,其他情况返回0。
返回值
返回非零值代表已到达文件尾。
fflush(更新缓冲区)
相关函数
write,fopen,fclose,setbuf
表头文件
#include
定义函数
int fflush(FILE* stream);
函数说明
fflush()会强迫将缓冲区内的数据写回参数stream指定的文件中。如果参数stream为NULL,fflush()会将所有打开的文件数据更新。
返回值
成功返回0,失败返回EOF,错误代码存于errno中。
错误代码
EBADF 参数stream 指定的文件未被打开,或打开状态为只读。其它错误代码参考write()。
fgetc(由文件中读取一个字符)
相关函数
open,fread,fscanf,getc
表头文件
include
定义函数
nt fgetc(FILE * stream);
函数说明
fgetc()从参数stream所指的文件中读取一个字符。若读到文件尾而无数据时便返回EOF。
返回值
getc()会返回读取到的字符,若返回EOF则表示到了文件尾。
范例
#include
main()
{
FILE *fp;
int c;
fp=fopen(“exist”,”r”);
while((c=fgetc(fp))!=EOF)
printf(“%c”,c);
fclose(fp);
}
fgets(由文件中读取一字符串)
相关函数
open,fread,fscanf,getc
表头文件
include
定义函数
har * fgets(char * s,int size,FILE * stream);
函数说明
fgets()用来从参数stream所指的文件内读入字符并存到参数s所指的内存空间,直到出现换行字符、读到文件尾或是已读了size-1个字符为止,最后会加上NULL作为字符串结束。
返回值
gets()若成功则返回s指针,返回NULL则表示有错误发生。
范例
#include
main()
{
char s[80];
fputs(fgets(s,80,stdin),stdout);
}
执行
this is a test /*输入*/
this is a test /*输出*/
fileno(返回文件流所使用的文件描述词)
相关函数
open,fopen
表头文件
#include
定义函数
int fileno(FILE * stream);
函数说明
fileno()用来取得参数stream指定的文件流所使用的文件描述词。
返回值
返回文件描述词。
范例
#include
main()
{
FILE * fp;
int fd;
fp=fopen(“/etc/passwd”,”r”);
fd=fileno(fp);
printf(“fd=%d\n”,fd);
fclose(fp);
}
执行
fd=3
fopen(打开文件)
相关函数
open,fclose
表头文件
#include
定义函数
FILE * fopen(const char * path,const char * mode);
函数说明
参数path字符串包含欲打开的文件路径及文件名,参数mode字符串则代表着流形态。
mode有下列几种形态字符串:
r 打开只读文件,该文件必须存在。
r+ 打开可读写的文件,该文件必须存在。
w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。
a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。
上述的形态字符串都可以再加一个b字符,如rb、w+b或ab+等组合,加入b 字符用来告诉函数库打开的文件为二进制文件,而非纯文字文件。不过在POSIX系统,包含Linux都会忽略该字符。由fopen()所建立的新文件会具有S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH(0666)权限,此文件权限也会参考umask值。
返回值
文件顺利打开后,指向该流的文件指针就会被返回。若果文件打开失败则返回NULL,并把错误代码存在errno 中。
附加说明
一般而言,开文件后会作一些文件读取或写入的动作,若开文件失败,接下来的读写动作也无法顺利进行,所以在fopen()后请作错误判断及处理。
范例
#include
main()
{
FILE * fp;
fp=fopen(“noexist”,”a+”);
if(fp= =NULL) return;
fclose(fp);
}
fputc(将一指定字符写入文件流中)
相关函数
fopen,fwrite,fscanf,putc
表头文件
#include
定义函数
int fputc(int c,FILE * stream);
函数说明
fputc 会将参数c 转为unsigned char 后写入参数stream 指定的文件中。
返回值
fputc()会返回写入成功的字符,即参数c。若返回EOF则代表写入失败。
范例
#include
main()
{
FILE * fp;
char a[26]=”abcdefghijklmnopqrstuvwxyz”;
int i;
fp= fopen(“noexist”,”w”);
for(i=0;i
定义函数
int fputs(const char * s,FILE * stream);
函数说明
fputs()用来将参数s所指的字符串写入到参数stream所指的文件内。
返回值
若成功则返回写出的字符个数,返回EOF则表示有错误发生。
范例
请参考fgets()。
fread(从文件流读取数据)
相关函数
fopen,fwrite,fseek,fscanf
表头文件
#include
定义函数
size_t fread(void * ptr,size_t size,size_t nmemb,FILE * stream);
函数说明
fread()用来从文件流中读取数据。参数stream为已打开的文件指针,参数ptr 指向欲存放读取进来的数据空间,读取的字符数以参数size*nmemb来决定。Fread()会返回实际读取到的nmemb数目,如果此值比参数nmemb 来得小,则代表可能读到了文件尾或有错误发生,这时必须用feof()或ferror()来决定发生什么情况。
返回值
返回实际读取到的nmemb数目。
附加说明
范例
#include
#define nmemb 3
struct test
{
char name[20];
int size;
}s[nmemb];
main()
{
FILE * stream;
int i;
stream = fopen(“/tmp/fwrite”,”r”);
fread(s,sizeof(struct test),nmemb,stream);
fclose(stream);
for(i=0;i
定义函数
FILE * freopen(const char * path,const char * mode,FILE * stream);
函数说明
参数path字符串包含欲打开的文件路径及文件名,参数mode请参考fopen()说明。参数stream为已打开的文件指针。Freopen()会将原stream所打开的文件流关闭,然后打开参数path的文件。
返回值
文件顺利打开后,指向该流的文件指针就会被返回。如果文件打开失败则返回NULL,并把错误代码存在errno 中。
范例
#include
main()
{
FILE * fp;
fp=fopen(“/etc/passwd”,”r”);
fp=freopen(“/etc/group”,”r”,fp);
fclose(fp);
}
发表评论
-
Microkia诞生,诺基亚的新机遇
2012-01-20 00:33 614Microkia诞生,诺基亚的新 ... -
海康威视采集卡 sdk 的包含文件问题
2012-01-20 00:33 781海康威视采集卡 sdk 的包含文件问题 2011年03月09 ... -
Andriod开发环境的搭建
2012-01-20 00:33 675Andriod开发环境的搭建 2010年12月27日 几 ... -
shell定制相关资料
2012-01-20 00:33 980shell定制相关资料 2011 ... -
Symbian^3开发环境配置
2012-01-20 00:33 628Symbian^3开发环境配置 2011年01月06日 ... -
初探Linux kernel之喝凉水系列二
2012-01-19 01:30 566初探Linux kernel之喝凉水系列二 2011年03月 ... -
D200的库设置
2012-01-19 01:30 579D200的库设置 2010年07月2 ... -
关于malloc函数后free内存空间的疑问
2012-01-19 01:30 839关于malloc函数后free内存空间的疑问 2011年11 ... -
c库函数和系统调用的区别(很模糊)
2012-01-19 01:30 732c库函数和系统调用的区 ... -
系统调用、POSIX、C库、系统命令和内核函数
2012-01-19 01:30 736系统调用、POSIX、C库、 ... -
windows性能监视器常用计数器
2012-01-17 00:47 910windows性能监视器常用计 ... -
获取内存中可执行文件的PE结构--导入表
2012-01-17 00:47 1998获取内存中可执行文件的PE结构--导入表 2012年01月1 ... -
vc6.0遇见的几个问题以及解决办法
2012-01-17 00:47 1643vc6.0遇见的几个问题以及解决办法 2011年03月17日 ... -
一名计算机教师的年度教学总结(转自CSDN)
2012-01-17 00:47 732一名计算机教师的年度教学总结(转自CSDN) 2011年12 ... -
嵌入式WEB服务器BOA的移植方法(三)
2012-01-15 19:35 924嵌入式WEB服务器BOA的移 ... -
SAMSUNG S3C2440的简易BootLoader ㈢
2012-01-15 19:35 804SAMSUNG S3C2440的简易BootLoa ... -
linux C库函数(三)
2012-01-15 19:35 679linux C库函数(三) 2010年0 ... -
meego开发的学习路线
2012-01-15 19:35 528meego开发的学习路线 2011年06月26日 不同版 ...
相关推荐
linux下各种命令大全,还有c语言库函数大全,常用的命令非常齐全!对于初学c语言及linux和ubantu系统的爱好者有很大的帮助!希望可以帮助大家!
Linux c 库函数大全 Linux c 库函数大全 Linux c 库函数大全 Linux c 库函数大全 Linux c 库函数大全
Linux C库函数
很好的linux c 库函数手册,对linu下进行编程的人是很好的资源
linux c库函数源代码 全部库函数的实现源码
最全Linux C 库函数官方中文API手册,相信不用我多说大家都知道是干什么的,开发者都知道,辛苦整理的这个资源,希望大家喜欢,希望对大家有帮助,谢谢大家,请给个五星好评,谢谢啦!
Linux命令行与shell脚本编程、Linux C库函数及系统调用编程、Linux内核分析即应用、Debian(Ubuntu、Deepin)操作系统爬坑.zip Linux命令行与shell脚本编程、Linux C库函数及系统调用编程、Linux内核分析即应用、...
C库函数原代码 。。包含linux c的大部分库函数源码。。。
Linux系统C语言库函数大全,学习Linux C编程必备参考资料。电子版仅供预览及学习交流使用,下载后请24小时内删除,支持正版,喜欢的请购买正版书籍。
Linux命令行与shell脚本编程、Linux C库函数及系统调用编程、Linux内核分析即应用、Debian(Ubuntu、Deepin)操作系统爬坑.zip Linux命令行与shell脚本编程、Linux C库函数及系统调用编程、Linux内核分析即应用、...
Linux下C程序常用函数的查询,对于初学LinuxC编程的朋友应该有一定帮助
关于linux环境下C编程的库函数,是网页格式,挺好的
linux C的库函数查询词典 辅助开发使用
自己整理的Linux C库函数大全,含有标签,方便查询,很实用。
linux C库函数手册 pdf版本 用的时候直接查就可以了
Linux C库函数 htm格式 还要txt chm格式,请搜索 在线文档请参考: http://man.chinaunix.net/develop/c&c++/linux_c/default.htm
非常好的linuxc库函数参看文件,包括头文件,返回值,函数原型等
Linux C库函数手册 比较详细的C函数
Linux C函数库参考手册是一套Linux C函数使用手册,这里还提供了LinuxC函数手册chm,帮助大家查找。在Linux下,使用到的C语言函数中文手册,全都有实例,如果你是大神,完全不需要,如果你对英文的手册感到头疼,...
linux下的c库函数大全 2008年11月20日 星期四 08:21Linux C函数库参考手册 第1章字符测试函数 isalnum(测试字符是否为英文字母或数字) isalpha(测试字符是否为英文字母) isascii(测试字符是否为ASCII码字符) ...