#include<stdlib.h>
#include<stdio.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<unistd.h>
int main(int argc, char* argv[]){
if(argc<2){
printf("./a.out filename\n");
exit(1);
}
struct stat st;// st变量作为传出参数,传递给stat函数
int ret = stat(argv[1], &st);
if(ret == -1){
perror("stat");
exit(1);
}
// 获取文件大小
int size = (int)st.st_size; // st_size的类型是off_t,需要强制类型转换下
printf("文件大小=%d\n",size);
return 0;
}
#include<sys/stat.h>
#include<sys/types.h>
#include<unistd.h>
#include<stdlib.h>
#include<stdio.h>
int main(int argc, char * argv[]){
if(argc < 2){
printf("./a.out filename\n");
exit(1);
}
int ret = chmod(argv[1], 0777);
if(ret == -1){
perror("chmod");
exit(1);
}
}
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
int main(int argc, char* argv[]){
if(argc < 2){
printf("./a.out access");
exit(1);
}
int ret = access(argv[1], W_OK);
if(ret == -1){
perror("access no write");
exit(1);
}
return 0;
}