| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 971 人关注过本帖
标题:函数 setvbuf()第二个参数类型为什么是char * 而不是 void *?
只看楼主 加入收藏
东阁
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2017-2-27
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:7 
函数 setvbuf()第二个参数类型为什么是char * 而不是 void *?

 int setvbuf(FILE *stream,char *buf,int type,unsigned size)

第二个参数类型为什么是char * 而不是 void * ?

----------------------------------------------------------

[此贴子已经被作者于2017-3-2 08:30编辑过]

2017-03-01 17:26
东阁
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2017-2-27
收藏
得分:0 
char * 是指在这个缓冲区内都是char类型数据吗
2017-03-01 17:27
qdcs
Rank: 6Rank: 6
等 级:侠之大者
威 望:5
帖 子:171
专家分:458
注 册:2016-12-22
收藏
得分:5 
int setvbuf(FILE *fp, char *buf, int type, size_t size)



fp 文件指针,buf 缓冲区指针,size 缓冲区大小  type 模式,其取值和含义如下: _IOFBF  0   满缓冲区后刷新缓冲区 _IOLBF  1
在缓冲区写入或读出一行字符后刷新缓冲区     _IONBF  2   满不缓冲

我是硬件工程师
2017-03-01 17:57
三多兄
Rank: 2
等 级:论坛游民
帖 子:6
专家分:25
注 册:2016-10-23
收藏
得分:5 
char *  和 void *是两种不同的类型,一个是字符型指针,一个是空类型指针,char* 表示buf这个指针指向的是一个字符型变量,void*表示buf指针指向的是一个空类型的变量
2017-03-01 19:55
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:5 
要是void* 你不得哭啊  

DO IT YOURSELF !
2017-03-01 21:21
东阁
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2017-2-27
收藏
得分:0 
回复 5楼 wp231957
char * ,是不是指缓冲区内只能是char数据? void * 不是说也可以接受其他类型的指针吗
2017-03-02 08:23
东阁
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2017-2-27
收藏
得分:0 
回复 3楼 qdcs
我问的是,为什么第二个参数缓冲区指针式char *,而不是void *,因为缓冲区如果要保存其他类型啊,比如 double *,float *,那还能用char *?
2017-03-02 08:26
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
话说这个函数没啥大用啊  (一般情况下)

DO IT YOURSELF !
2017-03-02 08:59
快速回复:函数 setvbuf()第二个参数类型为什么是char * 而不是 void *?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017744 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved