[C++]18. C++에서 파일의 존재 여부 확인 하기
안녕하세요 고급 개발자가 꿈인 코린이 입니다.
오늘은 c++코드 상에서 파일의 존재 여부에 대해서 파악하는에 내용을 다루어 보겠습니다.
프로그램을 만들다 보면 파일을 보내야할때도있고 파일을 읽고 쓰고 해야하는 경우가 있습니다.
이럴때 파일의 존재 유무를 파악하고 파일이 있을때 파일을 보내거나 읽고 쓰기를 해야지 오동작도 안하고
프로그램도 죽이지 않을수 있는 아주 좋은 프로그램이 됩니다.(예외처리가 잘되는 프로그램)
그렇기 때문에 이러한 파일 존재 여부를 파악하여 없을때의 예외처리등을 해주어야 아주 좋은 프로그램이
될수 있는데요 이럴때 사용하는 내용을 C++의 코드상으로 다루어 보겠습니다.
아래의 코드를 보겠습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
#include <iostream>
#include <unistd.h>
using namespace std;
int main()
{
std::string filePath = "/home/shin/youonlyliveonce/test.txt";
if(access(filePath.c_str(),F_OK) == 0){
std::cout << "파일이 존재 합니다." << std::endl;
}else{
std::cout << "파일이 존재하지 않습니다." << std::endl;
}
return 0;
}
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter
|
test datatest datatest datatest datatest data
test data test data
test datatest dattest datatest datatest datatest datatest dataa
test datatest dattest datatest datatest dataa
test datatest datatest datatest datatest datatest data
test datatest data
파일이 존재 할때
(아래와 같이 /home/shin/youonlyliveonce/test.txt 경로에는 파일이 있습니다.)
test data
test datatest datatest datatest data
test datest dattest datatest datatest datatest dataata
test data
test datatest dattest datatest datatest datatest dataa
test datatest data
test datatest datest test datatest datatest datatest datadatata
test datatest datatest datatest datatest data
test datatest data
test datatest datatest datatest datatest datatest data
파일이 존재 할때 실행 내용
파일이 존재 하지 않을때
test data
test dattest dataatest datatest datatest datatest data
test datatest datatest datatest data
test datatest datatest datatest datatest datatest data
test data
test datatest datest datata
test data
test datatest datatest datatest datatest datatest data
test data
test datatest datatest datatest datatest data
test data
(아래와 같이 /home/shin/youonlyliveonce/test.txt 경로에는 파일이 없습니다.)
파일이 존재 하지 않을때 실행 내용
test data
test data
test datatest data
test datatest datatest datatest datatest datatest data
test datatest data
test datatest datatest datatest datatest datatest data
test data
test datatest data
test datatest datatest datatest datatest datatest data
위의 access api를 사용하기 위해서는 아래와 같은 헤더 파일을 추가해야 합니다.
#include<unistd.h>
그리고 파일이 존재하는지 여부는 존재여부를 파알할 파일의 경로를 적어주시고 F_OK를 인자 값으로 넣어서
값이 0이면 파일이 존재하는 것을 알수가 있고 값이 -1이면 파일이 존재하지 않는 것을 알수가 있습니다.
이렇게 access를 사용하면 파일의 존재 여부를 알수가 있고 그에 따른 예외처리 코딩도 가능하게 됩니다.
다음 포스팅에서는 버퍼에 특정한 내용을 담고 그 내용을 파일에 담아서 저장하는 내용을 다루어 보겠습니다.
여기 까지 읽어주셔서 감사합니다.
'C++ > C++심화' 카테고리의 다른 글
[C++]20. C++ 파일크기 구하기 (0) | 2020.07.11 |
---|---|
[C++]19. C++ 데이터 버퍼에 정보를 저장하기(데이터 버퍼에 정보를 저장하고 파일로 저장하기) (0) | 2020.07.05 |
[C++]17. string 데이터를 int형 데이터로 변경하는 방법(string to int) (0) | 2020.04.11 |
[C++]16. int형 데이터를 string 형 데이터로 변경(int to string) (0) | 2020.04.11 |
[C++]15 C++ 뒤에서 부터 특정 문자를 찾아서 그 문자부터 문자열 출력하기 (strrchr,memchr) (0) | 2019.11.24 |