高手帮忙看看代码哪里有问题啊。。。
//获取子字符串个数int GetSubStrCount(CString &str,char cFlag)
{
cFlag = ',';
int i = 0;
BOOL isHas = FALSE;
for (int iStart = -1; -1 != (iStart = str.Find(cFlag,iStart+1)) ; i++)
{
isHas = TRUE;
}
if (!isHas)
{
return 0;
}
else
{
return i+1;
}
}
//获取子字符串
// i 序号 0
CString GetSubStr(CString &str,int i,char cFlag)
{
i = 0;
cFlag = ',';
int iStart = -1;
int iEnd = 0;
int j = 0;
int iStrCount;
iStrCount = GetSubStrCount(str,cFlag);
if (i>iStrCount -1 || i<0)
{
str = "";
return str;
}
else
{
//do nothing
}
if (i == iStrCount-1)
{
i = iStrCount;
for (;j<i-1;j++)
{
iStart = str.Find(cFlag , iStart+1);
}
return str.Mid(iStart+1 , str.GetLength()-iStart-1);
}
else
{
//do nothing
}
for (; j<i; j++)
{
iStart = str.Find(cFlag , iStart+1);
}
iEnd = str.Find(cFlag , iStart+1);
return str.Mid(iStart+1 , iEnd-iStart-1);
}
void CGpsDataView::OnFileRead()
{
// TODO: 在此添加命令处理程序代码
CStdioFile myFile;
CString oneLine;
int i = 0;
char cFlag = ',';
CString subStr[20];
if(!myFile.Open(_T("gps.txt"),CFile::modeRead | CFile::typeText))
{
AfxMessageBox(_T("打开文件错误!"));
return;
}
else
{
/*do nothing*/
}
while (myFile.ReadString(oneLine))
{
MessageBox(oneLine);
int j = GetSubStrCount(oneLine,cFlag);
for (j;j>0;j--)
{
subStr[j] = GetSubStr(oneLine,i,cFlag);
MessageBox(subStr[j]);
oneLine = oneLine.Right( strlen((LPSTR)(LPCTSTR)oneLine)
-strlen((LPSTR)(LPCTSTR)subStr[j]));
} }
myFile.Close();
}
oneLine 的形式是:$GPGGA,010648.00,2307.594068,N,11321.993772,E,1,07,1.1,31.1,M,-5.2,M,,*48
我循环提取一段段 只能显示出$GPGGA 这一段,老出来这一个。。。。
为什么。。
...全文
相关推荐
小教官 问题 代码。。。。
佳佳刚进高中,在军训的时候,由于佳佳吃苦耐劳,很快得到了教官的赏识,成为了“小教官”。在军训结束的那天晚上,佳佳被命令组织同学们进行篝火晚会。一共有n个同学,编号从1到n。一开始,同学们按照1,2,……,n的顺序坐成一圈,而实际上每个人都有两个最希望相邻的同学。如何下命令调整同学的次序,形成新的一个圈,使之符合同学们的意愿,成为摆在佳佳面前的一大难题。
这个是背包算法,解决背包问题的java代码
这个是背包算法。。解决背包问题的java代码。。。。。。。。。。。。。。。。。。。。。。
Windows Edge 兼容性问题修复
Windows Edge 启动提示兼容性问题:【一个不兼容的软件尝试与Microsoft Edge一起加。。。】 错误代码:STATUS_INVALID_IMAGE_HASH 解决方法:通过新增注册表项,使edge与其添加的插件能同时启动
用顺序结构完成约瑟夫问题
众所周知约瑟夫环是个较为复杂的问题下面提供一种用顺序结构完成约瑟夫问题的代码源文件仅供参考。。。
基于遗传算法的tsp问题
用遗传算法来接旅行商问题的matlab代码。。。。。



