그래서 현재 I/O, 파일 쓰기 등의 학습 프로젝트로 라인 편집기를 작성하고 있습니다. 이것은 C++로 작성되었으며, 현재 사용자가 선택한 파일을 작성하려고합니다. CLI 인수가 구현되어 있지만 현재 쓰기 위해 파일을 지정하는 프로그램 방식을 구현하는 방법을 알지 못합니다.C++ : cin >> * char
char *filename;
if (argc >= 2){
filename = argv[1];
} else{
cout << "file>";
cin >> filename;
cin.ignore();
}
이것은 명령 행 인수를 사용할 때 완벽하게 작동합니다. 그러나, 내가하지 않을 때마다, 내가 프로그램을 시작하자마자, 그것은 Segmentation Faults입니다. 실제 파일 이름을 사용하는 장소는 저장 명령에 있습니다.
void save(char filename[], int textlen, string file[]){
ofstream out(filename);
out << filestring(textlen, file);
out.close();
}
또한 완벽하게 작동합니다. 네가 나를 도울 수있는 방법이 있니? 검토를위한 전체 소스 코드는 https://github.com/GBGamer/SLED에 있습니다.
사용 ['표준 : string'] (http://en.cppreference.com/w/cpp/string/basic_string) 및 (HTTP [이 읽기] : //chris-sharpe.blogspot합니다. co.uk/2013/05/reading-input-with-stdgetline.html) (자체 플러그). – BoBTFish
문제는 ofstream입니다. 정확하게 기억한다면 문자열을 입력으로 사용할 수 없습니다. 문자열을 사용하는 다른 방법이 있습니까? – ubsan
문자열은 const char * 형식을 반환하는 변환 함수'c_str()'을 가지고 있습니다. – suspectus