几个C函数:fgets, sscanf,fread,fwrite , strncpy,fopen, sprintf
来源:互联网 发布:阿里云服务器 爬虫 编辑:程序博客网 时间:2024/05/28 23:20
(1)fgets:
如果size <= 0,返回NULL
如果size == 1,返回"",也就是一个空串。
如果成功返回值等于string,也就是获得的字符串的首地址。
如果出错,或者读到FILE的结尾,返回NULL.
所返回的数据从文件指针的当前位置开始,直至遇到回车键为止,此时文件指针stream将定位在紧接此回车键的字节上。
(2) sscanf(格式化字符串输入)
(3) fread(从文件流读取数据)
(4)fwrite(将数据写至文件流)
strncpy、strcpy结尾不自动加'/0'。
strcpy的实现代码
char * strcpy(char * strDest,const char * strSrc)
{
if ((strDest==NULL)||(strSrc==NULL)) //[1]
throw "Invalid argument(s)"; //[2]
char * strDestCopy=strDest; //[3]
while ((*strDest++=*strSrc++)!='/0'); //[4]
return strDestCopy;
}
最后要加'/0'
memcpy的语义是, 不管内容里是否有'/0', 它都忠实地进行N字节的拷贝.
strncpy的语义是, 进行N字节的拷贝, 如果中途遇到'/0'则提前结束.
fopen 若文件不存在会自动创建
strlen不包括字符串的'/0'
把整数123 打印成一个字符串保存在s 中。
sprintf(s, "%d", 123); //产生"123"
表头文件
include<stdio.h>定义函数
char * fgets(char * s,int size,FILE * stream);函数说明
fgets()用来从参数stream所指的文件内读入字符并存到参数s所指的内存空间,直到出现换行字符、读到文件尾或是已读了size-1个字符为止,最后会加上NULL作为字符串结束。返回值
fgets()若成功则返回s指针,返回NULL则表示有错误发生。如果size <= 0,返回NULL
如果size == 1,返回"",也就是一个空串。
如果成功返回值等于string,也就是获得的字符串的首地址。
如果出错,或者读到FILE的结尾,返回NULL.
所返回的数据从文件指针的当前位置开始,直至遇到回车键为止,此时文件指针stream将定位在紧接此回车键的字节上。
(2) sscanf(格式化字符串输入)
表头文件
#include<stdio.h>定义函数
int sscanf (const char *str,const char * format,........);函数说明
sscanf()会将参数str的字符串根据参数format字符串来转换并格式化数据。格式转换形式请参考scanf()。转换后的结果存于对应的参数内。返回值
成功则返回参数数目,失败则返回-1,错误原因存于errno中。(3) fread(从文件流读取数据)
表头文件
#include<stdio.h>定义函数
size_t fread(void * ptr,size_t size,size_t nmemb,FILE * stream);函数说明
fread()用来从文件流中读取数据。参数stream为已打开的文件指针,参数ptr 指向欲存放读取进来的数据空间,读取的字符数以参数size*nmemb来决定。Fread()会返回实际读取到的nmemb数目,如果此值比参数nmemb 来得小,则代表可能读到了文件尾或有错误发生,这时必须用feof()或ferror()来决定发生什么情况。返回值
返回实际读取到的nmemb数目。(4)fwrite(将数据写至文件流)
表头文件
#include<stdio.h>定义函数
size_t fwrite(const void * ptr,size_t size,size_t nmemb,FILE * stream);函数说明
fwrite()用来将数据写入文件流中。参数stream为已打开的文件指针,参数ptr 指向欲写入的数据地址,总共写入的字符数以参数size*nmemb来决定。Fwrite()会返回实际写入的nmemb数目。返回值
返回实际写入的nmemb数目。 C语言的整块数据的读写函数。 可用来读写一组数据,如一个数组元素,一个结构变量的值等。读数据块函数调用的一般形式为: fread(buffer,size,count,fp); 写数据块函数调用的一般形式为: fwrite(buffer,size,count,fp); 其中buffer是一个指针,在fread函数中,它表示存放输入数据的首地址。在fwrite函数中,它表示存放输出数据的首地址。 size 表示数据块的字节数。count 表示要读写的数据块块数。fp 表示文件指针。文件指针fp指到读取的字节之后。strncpy、strcpy结尾不自动加'/0'。
strcpy的实现代码
char * strcpy(char * strDest,const char * strSrc)
{
if ((strDest==NULL)||(strSrc==NULL)) //[1]
throw "Invalid argument(s)"; //[2]
char * strDestCopy=strDest; //[3]
while ((*strDest++=*strSrc++)!='/0'); //[4]
return strDestCopy;
}
最后要加'/0'
memcpy的语义是, 不管内容里是否有'/0', 它都忠实地进行N字节的拷贝.
strncpy的语义是, 进行N字节的拷贝, 如果中途遇到'/0'则提前结束.
fopen 若文件不存在会自动创建
strlen不包括字符串的'/0'
把整数123 打印成一个字符串保存在s 中。
sprintf(s, "%d", 123); //产生"123"
- 几个C函数:fgets, sscanf,fread,fwrite , strncpy,fopen, sprintf
- c 函数fopen,fwrite,fread,fgets,fputs
- c 函数fopen,fwrite,fread,fgets,fputs
- sscanf\sprintf\fread\fwrite
- c 函数fopen,fwrite,fread
- c 函数fopen,fwrite,fread
- fgetc()/fputc()/fgets()/fputs()/fread()/fwrite()/fopen()/fclose() 等C语言文件操作函数
- fopen()、fwrite()、fread()函数
- 研究 sscanf sprintf 与fread fwrite
- 函数名称: fopen、fread、fwrite
- C语言:文件函数 fopen(),fclose(),fwrite(),fread()
- fopen\fread\fwrite\fscanf\fprintf\fseek\feof\rewind\fgets\fputc等系列函数使用总结
- fopen\fread\fwrite\fscanf\fprintf\fseek\feof\rewind\fgets\fputc等系列函数使用总结
- Linux 标准IO操作函数fopen fclose fread fwrite fgetc fputc fgets fputs
- fgetc()/fputc()/fgets()/fputs()/fread()/fwrite()/fopen()/fclose()
- fopen函数和fread函数、fwrite函数
- fopen函数和fread函数、fwrite函数
- fopen函数和fread函数、fwrite函数
- Apache-2.2.8+mod_encoding解决URL中文编码问题-2008.1.8
- ubuntu在机房上网
- 反射学习一 :学习反射机制 c# 转载
- 案例研究:Team Foundation Server的帐户信息同步
- C#线程中使用委托方式设置控件属性
- 几个C函数:fgets, sscanf,fread,fwrite , strncpy,fopen, sprintf
- ExtJs同步提交
- 打印一个数组的全排列
- 军用芯片和电子硬盘
- RIA网站
- RFC3550英文版--难点摘出
- Discuz!NT 的相关设计文章
- WinCE中的消息驱动
- eclipse+lomboz+lcds+flex环境搭建