getline() に何か問題があり、単語を正しいものにしていますが、それでも size の値は 26 のままです。
文字を取り込むたびに印刷しようとしましたが、すべて印刷されるので、文字列を正しく取り込んでいますが、保存していませんか?
参照用に以下のコードを添付しました
他の場所で何がうまくいかないかを参照する必要がある場合は、プロジェクト全体について私に尋ねてください。
void TldPart::PreloadTLDs() { ifstream in(TLD_TEST_FILE); if(in) { string tld; for(int i =0; !in.eof(); i++) { getline(in,tld); String myString = tld.c_str(); //cout << myString.GetLength() << endl; for(int j=0; j<myString.GetLength();j++) { myString[j]=tolower(myString[j]); } //cout << myString << endl; ValidTLDs.insert(pair<String,int>(myString,i)); //ValidTLDs[myString] = true; //if the map was bool } in.close(); cout << ValidTLDs.size(); //Printing the size //prints 26 } }
質問する
180 次