C++ 파일 입/출력을 구체적 파일 명을 입력하는 것이 아닌, 파일 명이 저장된 변수를 통해서 할 수는 없나요?
조회수 1744회
C++ 초보입니다. 안녕하세요.
ifstream in ("C:\~~~~~\"Example.txt") 같은 형식이 아니라.
문자열 A = "Example.txt" 로 저장되어 있는 상태에서,
ifstream in ("C:\ ~~~~~\ A") 같은 형식으로 쓰는 방법이 혹시 없는지 궁금합니다.
제 검색 능력이 부족한 것인지, 구글 검색을 해 보아도 찾지 못해서 이렇게 질문을 남겨봅니다.
고민을 해 보면서 시도한 방법들인데, ("C:\~~\Desktop\"G); 라던지 ("C\~\Desktop"G); 를 이용한다던지, Define을 이용한다던지.. 모두 오류가 나 버리네요.ㅜㅜ
파일 내용을 받아와서 내용을 바꾸는 프로그램을 한 번 만들어보고 싶었는데, 여기에서 막히니 아쉽네요.ㅜㅜ
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
string
의 + 연산자로 새 문자열을 만드시거나
char
배열이면sprintf
함수를 쓰시면 될거 같습니다.#include <iostream> #include <fstream> using namespace std; char input[512]; int main() { string file_name = "example.txt"; ifstream inf("./" + file_name); inf.getline(input, 512); cout << input << endl; return 0; }
- 감사합니다. 다음과 같은 방법으로 해결됬네요. 알 수 없는 사용자 2018.10.1 23:40
- 제가 Dev C++ 환경에서는 실패했는데, 혹시나 싶어서 Codeblocks를 까니 정상적으로 작동되네요. :) 감사합니다! 알 수 없는 사용자 2018.10.1 23:40
댓글 입력