vc++从空的EditBox控件读取的字符是什么
比如EditBox只有5个字符 ,我获取10个赋值给一个数组,数组后5个元素师什么 相关代码GetDlgItemText(IDC_EAesEn,(char*)inBuff,32);
追问:是0吗?还是NULL?
比如EditBox只有5个字符 ,我获取10个赋值给一个数组,数组后5个元素师什么 相关代码GetDlgItemText(IDC_EAesEn,(char*)inBuff,32);
追问:是0吗?还是NULL?
答案:没有了,空值。
其他:随机值 如果你输出来看的话是乱码 这个EditBox无关,跟你的数组的初始值有关,在数组定义的时候,会给其中的成员初始化,各种类型的变量的初始化值是不一样的,这个你可以自己测试一下 在EDIT BOX的属性界面将Multiline勾选使其支持多行输入,再将Want return勾上使其支持回车符的输入!在ClassWizard中添加对话框的事件,并关联EDIT BOX为Control变量m_edit;然后添加对话框的PreTranslateMessage事件,事件代码如下:
BOOL CKsDlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
if (WM_KEYFIRST<=pMsg->message && pMsg->message<=WM_KEYLAST)
{
if (pMsg-> wParam == VK_RETURN)
{
if (GetFocus()==GetDlgItem(IDC_EDIT1))
{
int lines,lens=1; //定义当前行的行号,以及当前行长度
lines=m_edit.LineIndex(-1);//获取当前输入行的行号
lens=m_edit.LineLength(lines);
char *mstr=new char[lens]; //定义一个字符串指针用来获取当前行的内容
m_edit.GetLine(lines,mstr,lens); //取得当前行的内容
CString strs; //定义一个C++字符串类变量
strs.Format("%s",mstr);//将当前行的内容转换成CString类;
delete mstr;//释放mstr所占的空间
这里输入你想要执行的操作!比如要执行的命令,我不知道你想要执行什么类型的命令所以这里能给你写出来
this->SetFocus();//这里把焦点转回给对话框,否则可能会执行两次当前事件!
}
}
}
return CDialog::PreTranslateMessage(pMsg);
}
上一个:如何在VC中调用Matlab编译的cpp文件
下一个:怎样改变.vc++生成的Debug,cpp,html,ncb,opt,dsp,dsw文件生成的位置