بالرغم من أن الموشر pStr هو من النوع CString الا أن المصرف يخبرني كما سبق بأنه لا توجد عملية للطرف الأيمن ....... بحثت كثير في MSDN قبل طرحي للسؤال و كذلك اطلعت على درس أستاذي HGB ( المؤشرات ما لها و ما عليها ) لكنني لم أعرف السبب
هذا الكود عملته في زر وظيفته تخزين محتويات ملف نصي في متحول CString :
void CSerachTextDlg::OnBnClickedButton1()
{
int m_ReadEdit;
int m_SaveEdit;
int m_FileLength;
CString m_ResultEdit;
CFile m_FileClass("C:\\mamo.txt",CFile::modeRead);
m_FileLength = m_FileClass.GetLength();
m_FileClass.Close();
ifstream m_ReadFile("C:\\mamo.txt");
char m_Buffer[MAX_PATH];
CString m_Str,m_ReplacedText;
m_ReadEdit = m_FileLength;
UpdateData(0);
CString *pStr = new CString[m_FileLength];
for(int i=0;i<m_FileLength;i++)
{
m_ReadFile.getline(m_Buffer,MAX_PATH+1);
m_Str = m_Buffer;
m_Str.MakeLower();
}
pStr = m_Str;
m_ReplacedText = "Explorer.exe";
m_ReplacedText.MakeLower();
for(int j=0;j<m_FileLength;j++)
{
m_ResultEdit = pStr[j];
UpdateData(0);
}
m_ReadFile.close();
}