MFC VS2010 写一个函数把Edit框里的CString字符串逐个转换为char[]字符数组。
MFCVS2010写一个函数把Edit框里的CString字符串逐个转换为char[]字符数组。这是我写的函数的,我只有Edit框里的英文字母的。intCStringTo...
MFC VS2010 写一个函数把Edit框里的CString字符串逐个转换为char[]字符数组。
这是我写的函数的,我只有Edit框里的英文字母的。
int CStringToCharArray(CString oString_In,char asData_Out[])
{
int itI;
int itIndex;
int itLength;
char chValue;
bool boValid;
itIndex=0;
boValid=false;
itLength=oString_In.GetLength();
for (itI=0;itI<=itLength;itI++)
{
if(oString_In[itI]>='a' && oString_In[itI]<='z' && oString_In[itI]>='A' && oString_In[itI]<='Z')
{
chValue=oString_In[itI]-'a';
boValid=true;
}
else if (boValid==true)
{
asData_Out[itIndex]=chValue;
itIndex++;
boValid=false;
}
}
return itIndex;
} 展开
这是我写的函数的,我只有Edit框里的英文字母的。
int CStringToCharArray(CString oString_In,char asData_Out[])
{
int itI;
int itIndex;
int itLength;
char chValue;
bool boValid;
itIndex=0;
boValid=false;
itLength=oString_In.GetLength();
for (itI=0;itI<=itLength;itI++)
{
if(oString_In[itI]>='a' && oString_In[itI]<='z' && oString_In[itI]>='A' && oString_In[itI]<='Z')
{
chValue=oString_In[itI]-'a';
boValid=true;
}
else if (boValid==true)
{
asData_Out[itIndex]=chValue;
itIndex++;
boValid=false;
}
}
return itIndex;
} 展开
1个回答
展开全部
假定楼主的环境是UNICODE型。
#include<atlconv.h>
CEdit m_edit;
CString strText;
// 获取edit控件的字符串
m_edit.GetWindowText(strText);
WCHAR* pText = strText.Buffer(strText.GetLength());
// 转换成char指针
USES_CONVERSION;
char* p = W2A(pText);
// 最后楼主可以用strcpy将char指针的内容,写入到字符数组里了。这个就不写了。
#include<atlconv.h>
CEdit m_edit;
CString strText;
// 获取edit控件的字符串
m_edit.GetWindowText(strText);
WCHAR* pText = strText.Buffer(strText.GetLength());
// 转换成char指针
USES_CONVERSION;
char* p = W2A(pText);
// 最后楼主可以用strcpy将char指针的内容,写入到字符数组里了。这个就不写了。
追问
环境是Use Multi-Byte Character Set。多字符集的。。
我老师的要求就是要自己写一个函数把Edit框里的CString字符串逐个转换为char[]字符数组的。而且只要英文字符的其他的数字什么字符都不要的。所以要在函数里判断的。大侠能帮我写一下函数吗??我写的不行的。。
追答
发到你的另外一个提问上了,你看看。。。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询