MFC怎么把在编辑框中输入的CString型字符存到char型数组中?
来源:世娱网
在MFC中处理字符串时,将CString类型转换为char类型数组,可以采用多种方法。首先介绍一种使用wcstombs_s函数的方法,该函数用于将宽字符字符串转换为多字节字符串。以下是一个示例:
CString strITV=L"";
char tmp[15];
setlocale(LC_ALL,"chs");
wcstombs_s(NULL,tmp,14,strITV,14);
float ITV=strtod(tmp,NULL);
这里,我们定义了一个宽字符字符串strITV,然后使用wcstombs_s函数将其转换为多字节字符串,并存储在char类型的数组tmp中。需要注意的是,setlocale函数用于设置当前线程的区域设置为简体中文。
另外,还有一种使用sprintf函数的方法,它可以将格式化的字符串输出到指定的缓冲区。下面是一个实例:
char str_save[50];
sprintf(str_save,"%s%d%02d%s","SaveCard_",minute,second,".bin");
在该示例中,我们定义了一个多字节字符串数组str_save,并使用sprintf函数将多个字符串和变量组合成一个完整的字符串。这里使用了%d和%02d格式化参数,分别表示整数和两位数整数。
最后,还有一种使用sprintf_s函数的方法,它是sprintf函数的带安全版本。下面是一个实例:
char str_Save[50];
sprintf_s(str_Save,"%02d%02d%s",Month,Day,".bin");
在该示例中,我们同样定义了一个多字节字符串数组str_Save,并使用sprintf_s函数将两个整数和一个字符串组合成一个完整的字符串。使用%s格式化参数来插入字符串,%02d用于插入两位数的整数。
以上三种方法都可以将CString类型的数据转换为char类型的数组,具体选择哪种方法取决于实际需求和代码的上下文环境。
显示全文