개요
이번 글은 C++에서 파일 입출력 사용 시 파일이 프로젝트 폴더 안에 있음에도 불구하고 다운로드한 파일을 불러오지 못하는 오류를 해결하는 방법에 대해 이야기해 보려고 한다.
C++ 파일 입출력 예시 코드
#include <iostream>
#include <iomanip>
#include <fstream>
using namespace std;
int main()
{
const int CAPACITY = 10;
int frequencies[CAPACITY] = { 0 };
ifstream integerFile;
integerFile.open("integerFile.dat");
if (!integerFile)
{
cout << "No File";
return 0;
}
int data;
int size = 0;
while (integerFile >> data)
{
if (data >= 0 && data <= 9)
{
size++;
frequencies[data]++;
}
}
integerFile.close();
cout << size << " vaild data item" << endl;
for (int i = 0; i < 10; i++)
{
cout << setw(3) << i << " ";
for (int f = 1; f <= frequencies[i]; f++)
{
cout << '+';
}
cout << " " << frequencies[i] << endl;
}
return 0;
}
파일 입출력에 사용할 파일을 다운받고 C++에서 파일 입출력을 사용하려할때 파일을 불러오지 못하는 문제가 종종 발생한다.

해결 방법
이럴때는 다운로드 받은 파일을 복사하여 새로 만들어주면 해결할 수 있다. 파일이 올바른 위치에 있어도 인코딩 방식이 다른 이유로 파일을 불러오지 못하는 것이다.
Step1. 다운로드 파일의 내용을 복사하기

본래 다운로드 받은 파일의 확장자는 .dat(데이터 파일)이지만 메모장을 통해 .txt 파일로 열어주고 내용을 복사해준다.
Step2. 본래 다운로드 받은 파일과 같은 이름으로 파일 만들어주기(Visual Studio 2019)

2.1 솔루션 탐색기에서 리소스 파일을 우클릭하고 추가 -> 새 항목을 눌러준다.

2.2 새 항목 추가 창이 열리고 다운로드 받은 파일과 같은 이름 + 확장자명으로 파일을 만들어준다.
이때 새 항목 추가 창에서 원하는 파일 유형이 보이지 않아도 이름과 확장자만 똑같이 만들어주면 된다.

2.3 파일이 만들어졌으면 다운로드 받은 파일의 내용을 복사해서 그 내용을 우리가 새로 만든 파일에 붙여넣어준다.
해결
이렇게 기존 다운로드 받은 파일을 그대로 끌어다 사용하지말고 새로 파일을 만들어서 기존의 파일과 똑같이 만들어주면 이제는 정상적으로 파일을 불러올 수 있다.

'기타' 카테고리의 다른 글
[Web] PC에서 크롬으로 모바일 웹 확인하기 (2) | 2022.09.01 |
---|---|
[Error] TISTORY 메인 페이지 400 에러 해결하기 (0) | 2022.07.20 |
[JSP] JSTL <c:if>와 <c:choose>에서 NULL값 체크하기 (0) | 2022.06.23 |
[Bootstrap] Bootstrap 멀티 모달 Z-index로 순서 처리하기 (0) | 2022.06.22 |
[에러] Port 8080 was already in use 에러 해결하기 (0) | 2022.04.30 |
개요
이번 글은 C++에서 파일 입출력 사용 시 파일이 프로젝트 폴더 안에 있음에도 불구하고 다운로드한 파일을 불러오지 못하는 오류를 해결하는 방법에 대해 이야기해 보려고 한다.
C++ 파일 입출력 예시 코드
#include <iostream>
#include <iomanip>
#include <fstream>
using namespace std;
int main()
{
const int CAPACITY = 10;
int frequencies[CAPACITY] = { 0 };
ifstream integerFile;
integerFile.open("integerFile.dat");
if (!integerFile)
{
cout << "No File";
return 0;
}
int data;
int size = 0;
while (integerFile >> data)
{
if (data >= 0 && data <= 9)
{
size++;
frequencies[data]++;
}
}
integerFile.close();
cout << size << " vaild data item" << endl;
for (int i = 0; i < 10; i++)
{
cout << setw(3) << i << " ";
for (int f = 1; f <= frequencies[i]; f++)
{
cout << '+';
}
cout << " " << frequencies[i] << endl;
}
return 0;
}
파일 입출력에 사용할 파일을 다운받고 C++에서 파일 입출력을 사용하려할때 파일을 불러오지 못하는 문제가 종종 발생한다.

해결 방법
이럴때는 다운로드 받은 파일을 복사하여 새로 만들어주면 해결할 수 있다. 파일이 올바른 위치에 있어도 인코딩 방식이 다른 이유로 파일을 불러오지 못하는 것이다.
Step1. 다운로드 파일의 내용을 복사하기

본래 다운로드 받은 파일의 확장자는 .dat(데이터 파일)이지만 메모장을 통해 .txt 파일로 열어주고 내용을 복사해준다.
Step2. 본래 다운로드 받은 파일과 같은 이름으로 파일 만들어주기(Visual Studio 2019)

2.1 솔루션 탐색기에서 리소스 파일을 우클릭하고 추가 -> 새 항목을 눌러준다.

2.2 새 항목 추가 창이 열리고 다운로드 받은 파일과 같은 이름 + 확장자명으로 파일을 만들어준다.
이때 새 항목 추가 창에서 원하는 파일 유형이 보이지 않아도 이름과 확장자만 똑같이 만들어주면 된다.

2.3 파일이 만들어졌으면 다운로드 받은 파일의 내용을 복사해서 그 내용을 우리가 새로 만든 파일에 붙여넣어준다.
해결
이렇게 기존 다운로드 받은 파일을 그대로 끌어다 사용하지말고 새로 파일을 만들어서 기존의 파일과 똑같이 만들어주면 이제는 정상적으로 파일을 불러올 수 있다.

'기타' 카테고리의 다른 글
[Web] PC에서 크롬으로 모바일 웹 확인하기 (2) | 2022.09.01 |
---|---|
[Error] TISTORY 메인 페이지 400 에러 해결하기 (0) | 2022.07.20 |
[JSP] JSTL <c:if>와 <c:choose>에서 NULL값 체크하기 (0) | 2022.06.23 |
[Bootstrap] Bootstrap 멀티 모달 Z-index로 순서 처리하기 (0) | 2022.06.22 |
[에러] Port 8080 was already in use 에러 해결하기 (0) | 2022.04.30 |