关于BUFFER的用法求教

liyi54188 2010-07-23 09:13:52
我对缓冲区读写相关的知识非常陌生,谁有这部分好点的学习意见或好点的相关资料和简单点的相关程序代码发给我下啊,谢谢大家了!!我邮箱360886554@qq.com,万分感谢!!
...全文
236 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
liyi54188 2010-07-26
  • 打赏
  • 举报
回复
谢谢6楼,看大家还有什么好的没,今天下午再结贴
ayw215 2010-07-25
  • 打赏
  • 举报
回复
fread,fwrite?
[Quote=引用 3 楼 liyi54188 的回复:]

我想要些在vc6.0里的例子
[/Quote]
liyi54188 2010-07-25
  • 打赏
  • 举报
回复
我想要些在vc6.0里的例子
ayw215 2010-07-25
  • 打赏
  • 举报
回复
函数名: fread
功 能: 从一个流中读数据
用 法: int fread(void *ptr, int size, int nitems, FILE *stream);
程序例:
#include
#include
int main(void)
{
FILE *stream;
char msg[] = "this is a test";
char buf[20];
if ((stream = fopen("DUMMY.FIL", "w+"))
== NULL)
{
fprintf(stderr,
"Cannot open output file.\n");
return 1;
}

fwrite(msg, strlen(msg)+1, 1, stream);

fseek(stream, SEEK_SET, 0);

fread(buf, strlen(msg)+1, 1, stream);
printf("%s\n", buf);
fclose(stream);
return 0;
}

函数名: fwrite
功 能: 写内容到流中
用 法: int fwrite(void *ptr, int size, int nitems, FILE *stream);
程序例:
#include
struct mystruct
{
int i;
char ch;
};
int main(void)
{
FILE *stream;
struct mystruct s;
if ((stream = fopen("TEST.$$$", "wb")) == NULL)
{
fprintf(stderr, "Cannot open output file.\n");
return 1;
}
s.i = 0;
s.ch = 'A';
fwrite(&s, sizeof(s), 1, stream);
fclose(stream);
return 0;
}
http://www.cnblogs.com/youyou/archive/2005/06/10/171607.aspx

fwrite(将数据写至文件流)
相关函数 fopen,fread,fseek,fscanf

表头文件 #include

定义函数 size_t fwrite(const void * ptr,size_t size,size_t nmemb,FILE * stream);

函数说明 fwrite()用来将数据写入文件流中。参数stream为已打开的文件指针,参数ptr 指向欲写入的数据地址,总共写入的字符数以参数size*nmemb来决定。Fwrite()会返回实际写入的nmemb数目。

返回值 返回实际写入的nmemb数目。

范例 #include
#define set_s (x,y) {strcoy(s[x].name,y);s[x].size=strlen(y);}
#define nmemb 3
struct test
{
char name[20];
int size;
}s[nmemb];
main()
{
FILE * stream;
set_s(0,”Linux!”);
set_s(1,”FreeBSD!”);
set_s(2,”Windows2000.”);
stream=fopen(“/tmp/fwrite”,”w”);
fwrite(s,sizeof(struct test),nmemb,stream);
fclose(stream);
}

执行 参考fread()。


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
printf(“name[%d]=%-20s:size[%d]=%d\n”,i,s[i].name,i,s[i].size);
}
liyi54188 2010-07-25
  • 打赏
  • 举报
回复
是啊,这方面的例子也行啊
太乙 2010-07-23
  • 打赏
  • 举报
回复
unix高级环境编程里讲得很清楚,lz可以看看~~~
bobo364 2010-07-23
  • 打赏
  • 举报
回复
看看这个帖,也许有用。

http://topic.csdn.net/u/20080216/20/c0209f14-8d31-4673-983d-2f1f8bacafd7.html

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧