c_cpp 快速代码片段,用于在统计(阻止)/ dev / rdsk中的设备时验证fstat64和stat64的行为。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 快速代码片段,用于在统计(阻止)/ dev / rdsk中的设备时验证fstat64和stat64的行为。相关的知识,希望对你有一定的参考价值。

#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

#include <sys/stat.h>

int status, fd;
struct stat64 buf;

const char *fp = "/dev/rdsk/c2t0d0" ;
const char *fpp0 = "/dev/rdsk/c2t0d0p0" ;
char *fpi;

void print_info (char *mydev) {
    if ((fd = open64(mydev, O_RDONLY | O_NDELAY)) == -1) {
        printf("Failed to open: %s\n", mydev);
    }

    if ((status = stat64(mydev, &buf)) == -1) {
        printf("stat64 Failed to stat: %s\n", mydev);
    } else {
        printf("stat64: %s size: 0x%lx(KB)\n", mydev, 
                (intmax_t)buf.st_size >> 10);
    }

    if ((status = fstat64(fd, &buf)) == -1) {
        printf("fstat64 Failed to stat: %s\n", mydev);
    } else {
        printf("fstat64: %s size: 0x%lx(KB)\n", mydev, 
                (intmax_t)buf.st_size >> 10);
    }
    close(fd);
}

int main(void) {
    char *fpi = (char *)malloc(32);
    for (int i = 0 ; i < 16; i++) {
        sprintf(fpi, "%ss%d", fp, i);
    print_info(fpi);
    }
    print_info((char *)fpp0);
    return (0);
}

以上是关于c_cpp 快速代码片段,用于在统计(阻止)/ dev / rdsk中的设备时验证fstat64和stat64的行为。的主要内容,如果未能解决你的问题,请参考以下文章

c_cpp 用于阅读我和其他几个人使用的光谱格式的快速代码

c_cpp Atlas300代码片段

c_cpp Robolution基本代码片段

c_cpp 加载源图像固定用法(代码片段,不全)

c_cpp [illumos和bsros datalink layer]用于观察dladm和libdladm行为的Dtrace片段#tags:dladm,datalink,数据链管理,

sql [SQL查询片段]用于在命令行或通过R和其他工具使用SQL的快速代码段#tags:sql,R,text processing,命令li