CString 取字符串

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CString 取字符串相关的知识,希望对你有一定的参考价值。

比如我有一个CString A;
A为1,abc,ddd,aaa,c,b
我怎么根据第几个逗号来取出字符串。
比如我想一个一个取出来保存。怎么比较好
用2个FIND好像比较麻烦

请指教。
我不想分割成数组,因为长度并不是固定的。动态申请内存弊端很大。
把我举出的例子做出来就行。比如我就想取出第3个逗号后的数据。
我是做C的,CString不熟悉。

在线等

帮你写了一个函数:

//通过“,”分割提取字符串
//参数str:被提取的字符串
//参数strArray:提取后的字符串放到这个动态数组中
//返回值:提取出的字符串个数
int ExtString(CString str, CStringArray &strArray)

CString strTemp;
int nCount = 0;

strArray.RemoveAll();

while(str.Find(_T(",")) != -1)//查找字符串中是否有“,”出现

strTemp = str.Left(str.Find(_T(",")));//提取字符串
str = str.Right(str.GetLength() - str.Find(_T(","))-2);//剩下的字符串
strArray.Add(strTemp);//提取出的字符加入动态数组

nCount++;


//最后一个字符串
if(str.GetLength()>0)

strArray.Add(str);//提取出的字符加入动态数组
nCount++;


return nCount;


//这样使用:
CString A = _T("1,abc,ddd,aaa,c,b");

CStringArray strArray; //这是一个动态字符串数组

int n = ExtString(A,strArray);

for(int i=0; i<n; i++)
//显示出所以字符串
CString str;
str.Format("字符串%d", i+1);
MessageBox(strArray[i],str);


有问题可以百度HI上找我。
参考技术A .........写个算法,把CString分割成数组
按数组下标来取,多爽,以后还可重复利用这算法
参考技术B 按“,”把它变成数组 参考技术C AfxExtractSubString自己去查

VC++中将数字转换成字符串的函数是哪一个?

我是刚接触VC++的菜鸟,请教高手 VC++中将数字转换成字符串的函数是哪一个?最好附上例程和参数说明 谢谢!!!!

参考技术A 可以用CString类的Format()方法,具体实现如下:
int i = 2008;
CString str;
str.Format("%d", i);
这样就OK了。
函数解析:
CString::Format
void Format( LPCTSTR lpszFormat, ... );
void Format( UINT nFormatID, ... );
参数
lpszFormat 一个格式控制字符串。
nFormatID 包含格式控制字符串的字符串资源标识符。
说明
此成员函数用来将格式化数据写入一个CString中,其方法就像sprintf函数向一个C-风格的字符数组中格式化输出数据一样。这个成员函数在CString中格式化并存储一系列字符和值。根据lpszFormat中指定的格式或nFormatID标识的字符串资源,函数中的每一个可选参数(如果有)都被转换并输出。
当你传递一个字符串作为一个可选择的参数时,你必须显式地将它转换为LPCTSTR。本回答被提问者采纳
参考技术B c语言函数:atoi
c++函数:CString类下的成员函数
具体请查msdn,或者你去搜索这几个关键词

以上是关于CString 取字符串的主要内容,如果未能解决你的问题,请参考以下文章

字符串取地址

C++取字符串长度函数三种方法

字符串操作专题

POJ 3356 AGTC

2019.1.21 单词接龙

字符串hash