2017-11-04 22 views
-1

파일을 열고 각 줄에 끝에 문자열을 추가합니다.C++ txt 파일을 읽고 각 줄에 데이터 추가

#include <fstream> 
#include <iostream> 
#include <string> 
using namespace std; 

//argv[1] input file 
//argv[2] string to add in the end of each line 
//argv[3] output file 
int main(int argc, char *argv[]){ 

    ifstream open_file(argv[1]); 
    if (!open_file) { 
     std::cerr << "Could not open input file\n"; 
     return 0; 
    } 
    ofstream new_file(argv[3]); 
    if (!new_file) { 
    std::cerr << "Could not create output file\n"; 
    return 0; 
    } 
    string s = argv[2]; 
    string str; 
    while (getline(open_file, str)) { 
    new_file << str << s << "\n"; 
    } 
} 

것은 문자열은 각 행의 마지막에 추가되지이다 :

나는이 코드를 가지고있다. 추가하려는 각 문자열에 대해 새로운 행을 작성 중입니다. new_wordlist.txt

안녕하세요 wordlist.txt ./appendstring.e이 출력입니다 :

은 그래서 예를 들어 실행

enter image description here

정말 내가 '모르는 여기서 잘못하고있어.

미리 감사드립니다.

+2

를 참조하십시오 :

당신이 코드 줄을 사용하기 전에, str의 끝 떨어져 \r 트림() 파일과'와 push_back 읽기 '각 라인 'std :: vector ''에 추가 한 다음 원하는 텍스트를 각 행에 추가하십시오. 마지막으로 모든 줄을 다시 파일에 씁니다. – DimChtz

답변

1

은 아마도 첫 번째 파일은 .. 라인의 종료에 대한 \ r에 \ n을 시퀀스를 포함

당신이 \r와 문자열 읽기 때문에 당신은 당신의 첫 번째 파일에 이미있는 \r 문자를 제거 할 수 있습니다 끝에서.

new_file << str << s << "\n"; 

그냥 힌트 여기 http://www.cplusplus.com/reference/string/string/getline/

+1

수정 됨! 고마워. 당신이 옳았. 내가 한 모든 것은 다음과 같다 : str.erase (str.size() - 1); –

+0

도움이 되니 기쁩니다. Stackoverflow에 오신 것을 환영합니다 :) – Grantly