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 次