用于操作字符的函数(经过测试没问题的)
//=======================================
//
//Conversion string field (fix bug)
CString CNew::OnFixfieldstringbug(CString strIn)
{
CString str_return;
for(int i=0; i<=strIn.GetLength();i++)
{
if(strIn[i]=='\'')
str_return +="\"";
else
str_return +=strIn[i];
}
//MessageBox(str_return);
return str_return;
}
//========================================
但是我在多次调用并把多次调用的结果都累计到一个cstring变量的时候,却出现了问题,这个变量不可以是完整的
比如
CString str_temp;
CString str_Insert="Insert into News Values (";
//
str_Insert +="'";
GetDlgItemText(IDC_EDIT_TIME,str_temp);
str_Insert +="',";
//
str_Insert +="'";
GetDlgItemText(IDC_CHINA_TITLE,str_temp);
str_Insert +=OnFixfieldstringbug(str_temp);
str_Insert +="',";
//
str_Insert +="'";
GetDlgItemText(IDC_CHINA_CONTONT,str_temp);
str_Insert +=OnFixfieldstringbug(str_temp);
str_Insert +="',";
//
str_Insert +="'";
GetDlgItemText(IDC_IMAGE_LINK,str_temp);
str_Insert +=OnFixfieldstringbug(str_temp);
str_Insert +="',";
//
str_Insert +="'";
GetDlgItemText(IDC_ENGLISH_TITLE,str_temp);
str_Insert +=OnFixfieldstringbug(str_temp);
str_Insert +="',";
//
//
str_Insert +="'";
GetDlgItemText(IDC_EDIT_ENGLISH_CONTONT,str_temp);
str_Insert +=OnFixfieldstringbug(str_temp);
str_Insert +="'";
我的每个DEIT控件里都有字符串,OnFixfieldstringbug(str_temp);处理回来的结果也是正确的,但就不知道为什么str_Insert的结果却只有一半就没下文了
//=======================================
//
//Conversion string field (fix bug)
CString CNew::OnFixfieldstringbug(CString strIn)
{
CString str_return;
for(int i=0; i<=strIn.GetLength();i++)
{
if(strIn[i]=='\'')
str_return +="\"";
else
str_return +=strIn[i];
}
//MessageBox(str_return);
return str_return;
}
//========================================
但是我在多次调用并把多次调用的结果都累计到一个cstring变量的时候,却出现了问题,这个变量不可以是完整的
比如
CString str_temp;
CString str_Insert="Insert into News Values (";
//
str_Insert +="'";
GetDlgItemText(IDC_EDIT_TIME,str_temp);
str_Insert +="',";
//
str_Insert +="'";
GetDlgItemText(IDC_CHINA_TITLE,str_temp);
str_Insert +=OnFixfieldstringbug(str_temp);
str_Insert +="',";
//
str_Insert +="'";
GetDlgItemText(IDC_CHINA_CONTONT,str_temp);
str_Insert +=OnFixfieldstringbug(str_temp);
str_Insert +="',";
//
str_Insert +="'";
GetDlgItemText(IDC_IMAGE_LINK,str_temp);
str_Insert +=OnFixfieldstringbug(str_temp);
str_Insert +="',";
//
str_Insert +="'";
GetDlgItemText(IDC_ENGLISH_TITLE,str_temp);
str_Insert +=OnFixfieldstringbug(str_temp);
str_Insert +="',";
//
//
str_Insert +="'";
GetDlgItemText(IDC_EDIT_ENGLISH_CONTONT,str_temp);
str_Insert +=OnFixfieldstringbug(str_temp);
str_Insert +="'";
我的每个DEIT控件里都有字符串,OnFixfieldstringbug(str_temp);处理回来的结果也是正确的,但就不知道为什么str_Insert的结果却只有一半就没下文了
解决方案 »
- 请问,怎样建立一个可以复选的组合框控件?
- 打印CView中内容的问题
- vc和labview的 交互??
- 我下载的Xtreme9.61怎么编译不通过?
- 怎样向另一个应用程序的窗口发消息,分不够一定加到100分
- ListCtrl设置背景后,有数据的地方图片就被遮住了,不知怎么解决?
- 把一个BMP图片的一部分送到屏幕上去,如何设置屏幕和实现传输呢?
- 怎能样才能列举局域网中的所有机子的IP和MAC以当前用户?
- VS08 操作 已经打开的excel问题
- 在ATL中如何将BSTR 类型转化成OLECHAR类型
- 大家好 !有什么工具能察看一个运行程序的内存数据 一定给分
- 请问把BMP的24位图转换成灰度图的程序
===> ^^^^^??
for(int i=0; i< strIn.GetLength();i++)by the way, for your purpose, you can simply do YourString.Replace("\'", "\"");
{
CString str_return;
for(int i=0; i<=strIn.GetLength();i++) <=== 问题在这 i<strIn.GetLength()
{
if(strIn[i]=='\'')
str_return +="\"";
else
str_return +=strIn[i];
}
//MessageBox(str_return);
return str_return;
}
int Replace( TCHAR chOld, TCHAR chNew );int Replace( LPCTSTR lpszOld, LPCTSTR lpszNew );