Я привык программировать в C#, но теперь мне пришлось помочь моему соседу по комнате с проектом C++.C Builder (C++) AnsiString Метод длины
Это «не работает код»:
void HighlightKeyWords::Highlight(TRichEdit eMemo,TRichEdit RichEdit1)
{
ifstream file("KeyWords.txt");
AnsiString temp;
int maxWordLength=0;
if(file.is_open())
{
while(file>>temp)
{ if(temp.Length()> maxWordLength)
{
maxWordLength=temp.Trim().Length();
}
keyWords.push_back(temp);
}
file.close();
}
else
{
ShowMessage("Unable to open file. ");
}
for(unsigned i=0;i<KeyWords.size();i++)
{
richEdit1->Text=KeyWords[i];
}
eMemo->Text=MaxWordLength;
}
получить список ключевых слов из файла. В MaxWordLength я хочу знать максимальную длину слова (слова разделены новой строкой в текстовом файле). Когда я делаю temp.Length, я получаю 695 (количество всех символов в файле). Почему я не получаю фактическую длину слова, которое добавляю к вектору?
Спасибо!
LE: Я также использовал логику MaxWordLength в нижеприведенной таблице, где я помещаю элементы в RichEdit.
Ваш стиль убивает меня. Пожалуйста, используйте строчные буквы для первой буквы переменной. Ярлык синтаксиса подбирает их как классы. – mascoj
Кроме того, AnsiString не имеет оператора '' '' '' '' ''. Где код для этого? – mascoj
Код для >> является частью переменной файла ifstream. Каждая строка файла вводится в переменную temp. Я буду использовать строчную букву для переменной, скоро появится редактирование –