📄 subject_22802.htm
字号:
<p>
序号:22802 发表者:金枪鱼 发表日期:2002-11-28 15:22:43
<br>主题:CString操作分段问题
<br>内容:一个CString变量,比如:<BR>CString m_strKK=_T("...\n...\n...\n...\n");<BR>我现在想以\n分段这个变量,每个段记录在一个新的CString变量中。<BR>如何实现?
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:CDMA2000 回复日期:2002-11-28 15:33:39
<br>内容:查找字符'\n',将\n前的串取出来赋给一个新的CString变量中<BR>然后截去原CString中'\n'前的字符(包括'\n')<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:凯凯 回复日期:2002-11-28 16:00:02
<br>内容:用这个函数<BR>AfxExtractSubString()<BR>虽然MSDN上查不到它,但很好用。<BR><BR>CString m_strKK=_T("111\n222\n...\n...\n");<BR>CString strTemp;<BR>AfxExtractSubString(strTemp, m_strKK, 0);<BR><BR>第一个参数是要返回的部分,第二个参数是整个字符串,第三个参数是子串的索引。<BR>上一行代码,执行后,strTemp的内容是“111”。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:徐景周 回复日期:2002-11-28 16:19:06
<br>内容:可试用下面涵数,可以去得任意指定字符先的字符串:<BR><BR>//从0开始找<BR>CString CPillar::FindValue(CString szLine, int nIndex)<BR>{<BR> CString sz=",;\t\n ";<BR><BR> while(sz.Find(szLine.Left(1))!=-1)<BR> {<BR> szLine.Delete(0);<BR> }<BR><BR> CString szValue=" ";<BR> for(int i=0; i<nIndex; i++)<BR> {<BR> while(sz.Find(szLine.GetAt(0))!=-1)<BR> {<BR> szLine.Delete(0);<BR> }<BR><BR> int nStart=szLine.FindOneOf(sz);<BR> int nEnd=szLine.GetLength();<BR> szLine=szLine.Mid(nStart,nEnd-nStart);<BR> }<BR><BR> while(sz.Find(szLine.Left(1))!=-1)<BR> {<BR> szLine.Delete(0);<BR> }<BR><BR> while(sz.Find(sz.Find(szLine.Right(1)))!=-1)<BR> {<BR> szLine.Delete(szLine.GetLength()-1);<BR> }<BR><BR> int nStart=szLine.FindOneOf(sz);<BR> if(nStart!=-1)szValue=szLine.Mid(0,nStart);<BR> else szValue=szLine;<BR><BR> return szValue;<BR>}<BR><BR>用法:<BR>szLine = "111\n222\n333\n555\n"<BR>CString szValue0=FindValue(szLine, 0);<BR><BR>CString szValue1=FindValue(szLine, 1);<BR><BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:我本大梦人 回复日期:2002-11-28 16:26:10
<br>内容:举个例子:<BR> CString strTest="123\n111\n222\n333\n",strTemp;<BR> CStringList strList;<BR> int x=0,y=0;<BR> while (-1!=x)<BR> {<BR> x=strTest.Find("\n");<BR> y=strTest.GetLength();<BR> strTemp=strTest.Left(x);<BR> if (!str.IsEmpty())<BR> strList.AddTail(strTemp);<BR> strTest=strTest.Right(y-x-1);<BR> }<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:金枪鱼 回复日期:2002-11-28 16:49:05
<br>内容:感谢各位,答案都正确!!!!<BR>似乎凯凯提供的函数操作起来最简单。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -