指针控制的多返回值函数如何调用?如何使用返回值?

愿得一人心 2011-04-29 11:15:03
[code=C/C++][/code
//获取磁盘总空间和剩余空间
int getDiskSize(unsigned int *blksize,unsiged int *blkfree)
{
FILE *fp = fopen("/etc/mtab","rb");
if(NULL == fp)
{
return 0;
}
while(1)
{
struct mntent *mt = getmntent(fp);
if(NULL == mt)
{
break;
}
if(NULL != strstr(mt->mnt_fsname,"/dev/sd") || NULL != strstr(mt->mnt_fsname,"/dev/hd"))
{
struct statfs buf;
statfs(mt->mnt_dir,&buf);
*blksize += (buf.f_bsize/1024*buf.f_blocks);
*blkfree += (buf.f_bsize/1024*buf.f_bfree);
}
}
fclose(fp);
return 0;
}
我现在想调用这个函数,获得磁盘总空间和剩余空间,该怎么调用呀?参数,返回值该怎么处理呢?
小妹没接触过多返回值的情况,不敢下手了,望高人指点!帮写下代码或者之前有例子贴下也行呀~
...全文
102 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
bdmh 2011-04-29
  • 打赏
  • 举报
回复

unsigned int a=0;
unsigned int b=0;
getDiskSize(&a,&b);
这样a和b就是你要的
ouyh12345 2011-04-29
  • 打赏
  • 举报
回复
unsigned int blksize = 0;
unsiged int blkfree = 0;
getDiskSize(&blksize,&blkfree);

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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