0

これは、コマンドラインからファイルの名前を取得してファイルを開き、ファイルの内容を行ごとに文字列に保存する方法です。ファイルの先頭にある 3 つの空のスペースを除いて、すべての手順は正常に機能します。これらの空のスペースが発生した理由と、それらを無視するにはどうすればよいか、誰かが言うことができますか?

string filename = "input.txt";

char *a=new char[filename.size()+1];
a[filename.size()]=0;
memcpy(a,filename.c_str(),filename.size());

ifstream fin(a);
if(!fin.good()){
    cout<<" = File does not exist ->> No File for reading\n";
    exit(1);
}
string s;
while(!fin.eof()){
    string tmp;
    getline(fin,tmp);
    s.append(tmp);
    if(s[s.size()-1] == '.')
    {
        //Do nothing
    }
    else
    {
        s.append(" ");
    }
        cout<<s<<endl;
4

1 に答える 1