Bir ad listesinden başka bir şey içeren bir .txt dosyasından veri okumaya çalışıyorum. " "\" Sadece (string name = kullanarakC++ std :: getline sonuç dizesi, başka bir dizgeyi birleştirmeme izin vermiyor
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)
Ben her satırı okumak için std :: getline fonksiyonunu kullanıyorum ve tırnak eklemek için çalışıyorum: Her isim için aşağıdaki yapmak istiyorum + satır + "\" "). Sorun, çizgi dizesinin sonuna bir şey eklediğimde hiçbir şey eklenmemesidir!
"dave
"laura
"owen
"vick
"amr"
teşekkür çok teşekkür ederiz: Bu şu anda alıyorum çıkışı
dave
laura
owen
vick
amr
: Bu benim girdi txt dosyası
#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;
}
geçerli:
Bu
benim kodudur çok!
başka 'endl' ekle Eğer bu doğruysa o zaman çözüm satırın sonundaki r Char \ el kaldırmaktır test edilecek çıktı. Farklı satır sonu kuralları olan bir dosyayı okuduğunuz sistemden daha fazla olduğundan şüpheleniyorum. –
Kodunuz bana göre iyi çalışıyor. Cout << çizgi << endl hakkında nasıl; cout << isim << endl; '? –
Linux'ta çalışırsam ancak “input.txt” deki DOS satır sonu kurallarını kullanırsam, benzer görünür. Ekstra CR son terminale bir terminale en uzak solu koydu. – kec