C语言 使用统计信息的分段故障(核心转储)



我需要我的程序显示有关文件的信息。所以这是我的代码

#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]){
    struct stat fileStat;
    if (argc != 2) {
        fprintf(stderr, "Usage: %s <pathname>n", argv[0]);
        exit(0);
    }
   if (stat(argv[1], &fileStat) == -1) {
        exit(1);
   }
    printf("ID ", fileStat.st_uid);
    printf("Dydis: tt%d bytesn" + fileStat.st_size);
}

但是我收到此错误

Segmentation Fault (core dumped)

任何想法出了什么问题?

您需要更改代码

printf("Dydis: tt%d bytesn" + fileStat.st_size);

printf("Dydis: tt%d bytesn", fileStat.st_size);
                              ^
                              |
                          notice this change

参考:根据C11标准第 §7.21.6.3 章,语法是:

int printf(const char * restrict format, ...);

相关内容

  • 没有找到相关文章

最新更新