0
名前のリストだけを含む.txtファイルからデータを読み取ろうとしています。 「「\」単に(文字列名を=使用してC++ std :: getline結果文字列で別の文字列を連結することはできません
1) read a name and store it in a string variable.
2) Add quotes to the name ("name")
3) make a map entry using each name (map["name"]= x)
私はそれぞれの行を読み取るためのstd :: getline関数を使用していますが、私は引用符を追加しようとしている:私は、それぞれの名前のために次の操作を実行したいです+ライン+ "\" ")。 問題は、行文字列の最後に何かを追加するたびに、何も追加されないということです!
これは私のコードです:
#include <iostream>
#include <string>
#include <map>
#include <fstream>
#include <stdlib.h>
using namespace std;
int main(){
ifstream reader("input.txt");
string line;
string name;
map<string,int> arr;
int np=5;
for(int i=0;i<np;i++){
getline(reader,line);
name="\"" +line +"\"";
cout<< name << endl;
}
return 0;
}
これは、ファイルtxtの私の入力です:
dave
laura
owen
vick
amr
これは私が現在取得しています出力されます:
"dave
"laura
"owen
"vick
"amr"
は、非常にありがとう多く!
に別の 'endl'を追加テストする出力。あなたが読んでいるシステムよりも行末の規則が違うファイルがあると思われます。 –
あなたのコードは私によってうまく動作します。どうか 'cout << line << endl; cout << name << endl; '? –
Linuxで走っていて、 'input.txt'にDOS行末の規則を使用している場合、それは似ています。余分なCRは最後の二重引用符を端末の一番左に置きます。 – kec