求CString截取数字~~ 比如CString的内容是编号:44 组号:31我象提取44 转换成INT型怎么办 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 CString str;int temp = atio(str);注意是多字节编码才可以 CString str;str.left(你的分隔符索引位置);int temp = atoi(str);拆分字符串,尤其是CString,很容易。只要有标志性的分隔符(分隔符,你可以用","," "空格,"||",等等),做循环不停的Left(),Mid()操作,肯定能搞定。转换字符串为整型atoi(),浮点型atof(),长整型,atol(),数字转换为字符串itoa(),_gcvt(),fcvt(),ecvt(),多的是。 //code char str[] = "D: \\ File\\ filename\\ myfile"; char delims[] = "\\"; char *result = NULL; result = strtok( str, delims ); while( result != NULL ) { printf( "%s//n", result ); result = strtok( NULL, delims ); } //for unicode TCHAR str[] = _T("D: \\ File\\ filename\\ myfile"); TCHAR delims[] = _T("\\"); TCHAR *result = NULL; TCHAR *nextstok = NULL; result = wcstok_s( str, delims,&nextstok ); while( result != NULL ) { wprintf_s( _T("%s/n"), result ); result = wcstok_s( NULL, delims ,&nextstok); } 我的记忆中有个sscanf函数,你可以看看这个函数的介绍 如果其中数字是无规律散布的,你需要遍历字符串,找出所有数字,分别开辟空间保存,然后逐个用atoi转换 这里有个例子/* sscanf example */#include <stdio.h>int main (){ char sentence []="Rudolph is 12 years old"; char str [20]; int i; sscanf (sentence,"%s %*s %d",str,&i); printf ("%s -> %d\n",str,i); return 0;} sscanf只适合输入字符串是规律的,不规律的要慎重使用 VS2010 UnicodeCString STemp = _T("1234"); USES_CONVERSION; char* Str = T2A(STemp.GetBuffer());//系统宏T2A(W2A) STemp.ReleaseBuffer (); atoi(Str); 怎么用HTTP下载去同时下载多个文件的? 求教一个关于调用程序的问题 SOS 高分求救:关于对话框 OnSize函数调整动态控件问题 明天我要去面试了,但我VC用得不多,谁能给我一些面试题目?我看看先。 请问类似安装向导的界面怎么实现? 在html文件中 如何 响应 ActiveX 控件的 事件 提示“试图执行系统不支持的操作”是怎么回事? 我为什么截获不了键盘消息 静态库与c库兼容//下面写法对吗??? 急切请教这个错误信息是什么意思?如何改正? VC中整型和长整型的默认值疑问 请问如果对dll文件扩容
int temp = atio(str);注意是多字节编码才可以
str.left(你的分隔符索引位置);
int temp = atoi(str);拆分字符串,尤其是CString,很容易。只要有标志性的分隔符(分隔符,你可以用","," "空格,"||",等等),做循环
不停的Left(),Mid()操作,肯定能搞定。转换字符串为整型atoi(),浮点型atof(),长整型,atol(),
数字转换为字符串itoa(),_gcvt(),fcvt(),ecvt(),多的是。
char str[] = "D: \\ File\\ filename\\ myfile";
char delims[] = "\\";
char *result = NULL;
result = strtok( str, delims );
while( result != NULL )
{
printf( "%s//n", result );
result = strtok( NULL, delims );
}
//for unicode
TCHAR str[] = _T("D: \\ File\\ filename\\ myfile");
TCHAR delims[] = _T("\\");
TCHAR *result = NULL;
TCHAR *nextstok = NULL;
result = wcstok_s( str, delims,&nextstok );
while( result != NULL )
{
wprintf_s( _T("%s/n"), result );
result = wcstok_s( NULL, delims ,&nextstok);
}
#include <stdio.h>int main ()
{
char sentence []="Rudolph is 12 years old";
char str [20];
int i; sscanf (sentence,"%s %*s %d",str,&i);
printf ("%s -> %d\n",str,i);
return 0;
}
sscanf只适合输入字符串是规律的,不规律的要慎重使用
char* Str = T2A(STemp.GetBuffer());//系统宏T2A(W2A)
STemp.ReleaseBuffer ();
atoi(Str);