getline()出错了,取正确但仍然是大小的值仍为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
}
}