求各位大侠帮忙:读取txt文件中指定字符间的数据

apple_fish 2009-08-29 04:19:13
我现在有一个子txt文件,里面都是相应的数据,格式化是这样的
[123,122]113 [123,231]12 [123,324]231 。。。。。(后面还有很多相似的值)
其中括号内的是坐标值,我现在要读的的坐标后面对应的数据,也就是113,12和231,请问各位这样应该怎么读出来,已经困惑好多天了,本人菜鸟啊,实在是入不了门,还请大侠们帮忙,求个程序,小妹谢谢了
...全文
124 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
实在很菜的话也可以看看以下代码(这是我以前刚学的时候写的....那时只会c所以这样写看起来比较容易看懂)

str7=_T("1_张三123456789");
int a1,a2,a3,a4,a5;
a1=str7.GetLength();
LPTSTR p = str7.GetBuffer(100); //... 这个指针 p 发生了很多事情
for( int i = 0 ; i < a1 ; i++)
{
if(p[i]=='_')
{
a2=i+1;
}
}

for( a2 ; a2 < a1 ; a2++)
{

if(p[a2]>126)
{
str6+=p[a2];
}
if(p[a2]>=48 && p[a2] <=57)
{
str5+=p[a2];
}
}

MessageBox(str6);
MessageBox(str5);
  • 打赏
  • 举报
回复
CString str;
str="_1_张三_123456789";
CStringArray strAry;
SplitCString(str,strAryRe,'_'); // 分割字符串
for ( int i = 0; i < strAry.GetSize(); i++ )
{
strAry.GetAt(i) // 数组strAry中每个成员都是分割后的字符串
// do somthing
}
  • 打赏
  • 举报
回复
给你两个字符串分割的函数
/****************************************************************************
*
* 函数指针: SplitCString
* 描 述: 将字符串按给定的符号进行拆分
* 创 建: 黄德才[2008-4-11 8:59:58]
*
* 返 回: [int] - 拆分后的子串个数
*
* 函数参数 :[in] strIn - 需要进行拆分的字符串
* [out] strAryRe- 拆分后的字符串数组
* [in] c - 分割符
****************************************************************************/
int CSysCfgApp::SplitCString(CString strIn, CStringArray& strAryRe, char division)
{
strAryRe.RemoveAll();
if (!strIn.IsEmpty())
{
int nCount = 0;
int nPos = -1;
nPos = strIn.Find(division);
CString strTemp = strIn;
while (nPos != -1)
{
CString strSubString = strTemp.Left(nPos);
strTemp = strTemp.Right(strTemp.GetLength() - nPos-1);
nPos = strTemp.Find(division);
nCount++;
strAryRe.Add(strSubString);
}

if (nCount == strAryRe.GetSize())
{
CString str;
int nSize = strIn.ReverseFind(division);
str = strIn.Right(strIn.GetLength()-nSize-1);
strAryRe.Add(str);
}
}

return strAryRe.GetSize();
}

/****************************************************************************
*
* 函数指针: SplitCString
* 描 述: 将字符串按给定的符号进行拆分
* 创 建: 黄德才[2008-4-11 9:30:58]
*
* 返 回: [int] - 拆分后的子串个数
*
* 函数参数 :[in] strIn - 需要进行拆分的字符串
* [out] strAryRe- 拆分后的字符串数组
* [in] str - 分割字符串
****************************************************************************/
int CSysCfgApp::SplitCString(CString &strIn, CStringArray& strAryRe, LPCTSTR str)
{
if (str == _T(""))
{
strAryRe.RemoveAll();
return 0;
}

int nStart = 0;
int nEnd = 0;
CString strTmp;
while ( (nEnd = strIn.Find(str, nStart)) != -1 )
{
strTmp = strIn.Mid(nStart, nEnd-nStart);
strAryRe.Add(strTmp);
nStart = nEnd+2;
}
strTmp = strIn.Mid(nStart, strIn.GetLength());
strAryRe.Add(strTmp);

return strAryRe.GetSize();
}
feilinhe 2009-08-29
  • 打赏
  • 举报
回复
直接搜索']'就可以了,然后读后面的数据,直到遇到'['
zoulie 2009-08-29
  • 打赏
  • 举报
回复
直接搜[],字符查找
后面的就是你要找的数据,
然后转换成数字
cclk-1024 2009-08-29
  • 打赏
  • 举报
回复
这个简单啊,
打开文件后把所有的文字都放入一个CString中
运用Find函数和Mid函数可以轻松做到。
比如CString str="[123,122]113 [123,231]12 [123,324]231"
int start=str.Find("[123,122]",0);
int end=str.Find("[123,231]",0);
CString strf=str.Mid(start+9,end-start-9);
后面以此类推,最后转换一下格式就可以了用atoi

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧