c언어로 파일의 타임스탬프를 구하는 소스입니다.
황소자리
질문 제목 : c언어로 파일의 타임스탬프를 구하는 소스입니다.조건문 두개(경로설정, 파일권한)이 잘못된 경우를 추가하고 싶어요질문 내용 :
c언어로 파일의 타임스탬프를 구하는 소스를 만들었습니다.
구현까지 다 되는데
조건문 2가지를 추가할려고 하는데요
#include stdio.h
#include stdlib.h
#include sys/stat.h
#include time.h
#include errno.h
void help(void);
void error(int);
char* timetostring(struct tm *t);
int main(int argc, char *argv[])
{
file *in;
struct _stat buf;
if(argc == 1)
help();
else if((in = fopen(argv[1], rb)) == null) //파일이 존재하지 않는 경우
error(1);
else if //파일의 경로설정이 잘못된 경우
error(2);
else if //파일에 권한이 없는 경우
error(3);
else{
fstat(fileno(in), &buf);
printf( \ttime creation : %s\n, timetostring(localtime(&buf.st_ctime)) );
printf( \ttime last written : %s\n, timetostring(localtime(&buf.st_mtime)) );
printf( \ttime last access : %s\n, timetostring(localtime(&buf.st_atime)) );
fclose(in);
}
//fcloseall();
return 0;
}
void help(void)
{
printf(\n\t====================================================\n\
\n\t파일의 타임스탬프 구하기\n\
\n\t제작자 : \n\
저작권 : 이 프로그램의 저작권은 제작자에게 있습니다.\n\
\n\t====================================================\n);
exit(1);
}
void error(int number)
{
switch(number) {
case 1 :
fputs(파일이 존재하지 않습니다.\n, stderr);
break;
case 2 :
fputs(파일 경로가 잘못되었습니다.\n, stderr);
break;
case 3 :
fputs(파일에 대한 권한이 없습니다.\n, stderr);
break;
}
exit(number);
}
char* timetostring(struct tm *t)
{
static char s[20];
sprintf(s, %04d-%02d-%02d %02d:%02d:%02d,
t-tm_year + 1900, t-tm_mon + 1, t-tm_mday,
t-tm_hour, t-tm_min, t-tm_sec
);
return s;
}조건문인데 첫번째는 파일이 존재하지 않는 경우에 에러메시지를 발생하는거고
두번째는 파일의 경로설정이 잘못된 경우 에러메시지를 발생하고
세번째는 파일에 권한이 없는 경우(파일열람)에 에러메시지를 발생시키고 싶은데요
첫번째는 알겠는데 두번째, 세번째는 조건문을 어떻게 작성해야 될까요??
경로설정이랑 파일열람권한이 없는경우요...ㅠㅠ 조언부탁드려요
아 그리고 파일에 대한 타임스탬프를 구할때 파일을 꼭 오픈시켜야 되죠??
혹시나 다른 잘못된 부분이 있으면 지적 감사합니다!
수고하세요!
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2695626 | 피보나치수열 과제 때문에 질문 드립니다. (6) | 옆집언니 | 2025-05-22 |
2695595 | 포인트공부중입니다 int형에서 4=1 인가요? (3) | 족장 | 2025-05-22 |
2695567 | 드라이브 고유번호를 가져오는 함수 (2) | 초코맛사탕 | 2025-05-21 |
2695533 | 음수의 산술변환! 질문이요 ㅠㅠ... (4) | 꽃여름 | 2025-05-21 |
2695506 | 구조체 배열 이용 도서목록 출력 프로그램 (1) | 가을귀 | 2025-05-21 |
2695450 | c언어 함수 질문이요.... | 이슬비 | 2025-05-20 |
2695403 | VirtualAlloc함수 및 메모리 질문 | 크리에이터 | 2025-05-20 |
2695355 | c언어 for함수 | 미쿡 | 2025-05-19 |
2695327 | 안녕하세요 제가 이번에 좀 큰 프로그램을.. | 악당 | 2025-05-19 |
2695295 | mutex동기화의 thread기반 채팅 서버소스 질문입니다 | 그루터기 | 2025-05-19 |
2695270 | 질문이요..swap 관한겁니다..ㅠㅠ (3) | 콩알녀 | 2025-05-19 |
2695244 | 노땅초보궁금한게 하나 있는데요..반복문(while문)초보자질문 (6) | 큰꽃늘 | 2025-05-18 |
2695166 | do while 문 어떤것이잘못된건지 모르겠어요 (2) | 아이폰 | 2025-05-18 |
2695122 | 구조체에 대해 물어보고 싶은게 있습니다 ^^^.. (7) | 수련 | 2025-05-17 |
2695091 | txt 파일 입출력 후 2차 배열에 저장하기입니다. (3) | 헛장사 | 2025-05-17 |
2695063 | 수도요금 프로그램좀 짜주세요. | 시내 | 2025-05-17 |
2695033 | 답변좀요ㅠㅠ (1) | 비사벌 | 2025-05-16 |
2695010 | C++의 STL은 왜 굳이 템플릿화 시켜서 라이브러리를 만드나요? (초보수준의 질문..) (2) | 엘보어 | 2025-05-16 |
2694958 | 로직이 변한다는 것에 대해서 궁금합니다. | 튼동 | 2025-05-16 |
2694929 | 열혈강의 25-2 두번째 문제 질문 | 지우개 | 2025-05-15 |