导航
  • 主页
  • VC综合技术
  • 互联网技术
  • MFC AppLauncher
  • .NET 技术
  • 界面
  • 进程
  • 算法
  • 硬件/系统
  • 数据库
  • VC++技术资源

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

apple_fish 2009-08-29 04:19:13
我现在有一个子txt文件,里面都是相应的数据,格式化是这样的
[123,122]113 [123,231]12 [123,324]231 。。。。。(后面还有很多相似的值)
其中括号内的是坐标值,我现在要读的的坐标后面对应的数据,也就是113,12和231,请问各位这样应该怎么读出来,已经困惑好多天了,本人菜鸟啊,实在是入不了门,还请大侠们帮忙,求个程序,小妹谢谢了
...全文
84 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
实在很菜的话也可以看看以下代码(这是我以前刚学的时候写的....那时只会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
直接搜[],字符查找
后面的就是你要找的数据,
然后转换成数字
回复
longkuis 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
回复
发动态
发帖子
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
社区公告

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