В моей программе есть два блока управления редактирования, которые отображают текст из текстового файла, и оба они имеют связанные с ними кнопки, которые обновляют связанные с ними текстовые файлы, если что-либо написано или удалено в блоках управления редактированием. У меня есть этот код, чтобы читать из текстового файлаmfc C++ странные символы блока после текста, записанного в файл
try
{
CStdioFile file(_T("1.txt"), CFile::modeRead);
CString str,mainstr = _T("");
while(file.ReadString(str))
{
mainstr += str;
mainstr += _T("\r\n");
}
CWnd *editwindow = this->GetDlgItem(IDC_EDIT2);
editwindow->SetWindowText(mainstr);
}
catch(CException* e)
{
MessageBox(_T("no such file"));
e->Delete();
}
, а затем этот код, чтобы записать в текстовый файл
m_addtext.GetWindowText(m_adtxt);
if (IsDlgButtonChecked(IDC_RADIO1) == BST_CHECKED)
{
CStdioFile file;
file.Open (_T("1.txt"), CFile::modeCreate | CFile::modeWrite);
file.WriteString (m_adtxt);
file.Close();
}
все это работает довольно много штраф и денди за то, что я хочу, но проблема заключается в том, что он добавляет символ блока после слова, если я удалю символ в поле редактирования, а затем нажмите кнопку обновления. иногда он даже добавляет блок после каждого слова и одного блока на каждую пустую строку. он отлично работает, пока он создает новый файл, и ничего не удаляется. Я пробовал отменять null, я пробовал ccs="encoding"
. Может кто-то указать мне верное направление?
просто понял, что при создании файла все нормально, проблема возникает при редактировании файла в моей программе, не просто удаляя букву, слово или пробел. поэтому в основном любая модификация существующего файла добавляет странный квадратный символ в конец последнего слова каждой строки, а пустые строки содержат 1 квадрат. – user3179762
Просто интересно, если вы включили ES_MULTILINE для элемента управления редактирования – cha
, элемент управления редактирования имеет многострочный режим. единственная проблема, с которой я сталкиваюсь, заключается в том, что каждый раз, когда нажимается кнопка обновления, символ окна добавляется к последнему слову каждой строки. – user3179762