MFC如何处理由逗号隔开的数据?
DATA1,010708.000,2425.6352,N,10922.7696,E
DATA2,A,3,14,29,31,32,22,30,16,25,20
这样两组数据被存放在TXT文档中,我实现了(我觉得)逐行读取数据,但是不会将数据拆分并判断是一行开头是DATA1还是DATA2,求告诉怎么判断
void CNo3Dlg::OnButton2() {CStdioFile myFile; CFileException fileException; if(myFile.Open(m_strFileName,CFile::modeRead),&fileException) { CString strContent; int order=0; while(myFile.ReadString(strContent)) { if(1==order) { AfxMessageBox(strContent); //在此处添加显示命令 } order=order+1;}} else { TRACE("Can't open file"); }myFile.Close(); }#include <string.h>#include <stdio.h>char string[] = "DATA1,010708.000,2425.6352,N,10922.7696,E";char seps[] = ",";char *token;void main( void ){ printf( "%s\n\nTokens:\n", string ); /* Establish string and get the first token: */ token = strtok( string, seps ); while( token != NULL ) { /* While there are tokens in "string" */ printf( "%s\n", token ); /* Get next token: */ token = strtok( NULL, seps ); }}
[解决办法]
MFC中其实很简单 一个函数就搞定了
AfxExtractSubString(ChildString,GlobalString,i,',');
CSDN具体看看这个函数
DATA1,010708.000,2425.6352,N,10922.7696,E 有4个逗号
for(int i=0;i<4+1;i++)
{
AfxExtractSubString(ChildString,GlobalString,i,',');
}