我需要我的程序显示有关文件的信息。所以这是我的代码
#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: \t\t%d bytes\n" + fileStat.st_size);
}
但是我得到这个错误
Segmentation Fault (core dumped)
任何想法有什么问题吗?
最佳答案
您需要更改代码
printf("Dydis: \t\t%d bytes\n" + fileStat.st_size);
至
printf("Dydis: \t\t%d bytes\n", fileStat.st_size);
^
|
notice this change
参考:根据
C11
标准的第§7.21.6.3章,语法为:int printf(const char * restrict format, ...);
关于c - 使用统计信息的段错误(核心已转储),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29675958/