19,468
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
#include <tchar.h>
TCHAR s[]=_T(
"+1.946778660E+01,+8.948916161E+01,+0,+0\n"
"+1.930291487E+02,+8.921232518E+01,+0,+0\n"
"+2.063480938E+03,+8.135056168E+01,+0,+0\n"
"+4.157431443E+03,+6.557659563E+01,+0,+0\n"
"+5.722808011E+03,+5.061641198E+01,+0,+0\n"
"+6.670965858E+03,+3.889735674E+01,+0,+0\n"
"+7.244019312E+03,+2.993750144E+01,+0,+0\n"
);
TCHAR *p;
double v;
int n,k;
int main() {
p=s;
while (1) {
k=_stscanf(p,_T("%lf%n"),&v,&n);
_tprintf(_T("k,v,n=%d,%.9lE,%d\n"),k,v,n);
if (1==k) {
p+=n;
} else if (0==k) {
_tprintf(_T("skip char[%c]\n"),p[0]);
p++;
} else {//EOF==k
break;
}
}
_tprintf(_T("End.\n"));
return 0;
}
//k,v,n=1,1.946778660E+001,16
//k,v,n=0,1.946778660E+001,16
//skip char[,]
//k,v,n=1,8.948916161E+001,16
//k,v,n=0,8.948916161E+001,16
//skip char[,]
//k,v,n=1,0.000000000E+000,2
//k,v,n=0,0.000000000E+000,2
//skip char[,]
//k,v,n=1,0.000000000E+000,2
//k,v,n=1,1.930291487E+002,17
//k,v,n=0,1.930291487E+002,17
//skip char[,]
//k,v,n=1,8.921232518E+001,16
//k,v,n=0,8.921232518E+001,16
//skip char[,]
//k,v,n=1,0.000000000E+000,2
//k,v,n=0,0.000000000E+000,2
//skip char[,]
//k,v,n=1,0.000000000E+000,2
//k,v,n=1,2.063480938E+003,17
//k,v,n=0,2.063480938E+003,17
//skip char[,]
//k,v,n=1,8.135056168E+001,16
//k,v,n=0,8.135056168E+001,16
//skip char[,]
//k,v,n=1,0.000000000E+000,2
//k,v,n=0,0.000000000E+000,2
//skip char[,]
//k,v,n=1,0.000000000E+000,2
//k,v,n=1,4.157431443E+003,17
//k,v,n=0,4.157431443E+003,17
//skip char[,]
//k,v,n=1,6.557659563E+001,16
//k,v,n=0,6.557659563E+001,16
//skip char[,]
//k,v,n=1,0.000000000E+000,2
//k,v,n=0,0.000000000E+000,2
//skip char[,]
//k,v,n=1,0.000000000E+000,2
//k,v,n=1,5.722808011E+003,17
//k,v,n=0,5.722808011E+003,17
//skip char[,]
//k,v,n=1,5.061641198E+001,16
//k,v,n=0,5.061641198E+001,16
//skip char[,]
//k,v,n=1,0.000000000E+000,2
//k,v,n=0,0.000000000E+000,2
//skip char[,]
//k,v,n=1,0.000000000E+000,2
//k,v,n=1,6.670965858E+003,17
//k,v,n=0,6.670965858E+003,17
//skip char[,]
//k,v,n=1,3.889735674E+001,16
//k,v,n=0,3.889735674E+001,16
//skip char[,]
//k,v,n=1,0.000000000E+000,2
//k,v,n=0,0.000000000E+000,2
//skip char[,]
//k,v,n=1,0.000000000E+000,2
//k,v,n=1,7.244019312E+003,17
//k,v,n=0,7.244019312E+003,17
//skip char[,]
//k,v,n=1,2.993750144E+001,16
//k,v,n=0,2.993750144E+001,16
//skip char[,]
//k,v,n=1,0.000000000E+000,2
//k,v,n=0,0.000000000E+000,2
//skip char[,]
//k,v,n=1,0.000000000E+000,2
//k,v,n=-1,0.000000000E+000,2
//End.
//
CString str = "123,-456(/t)7.89";
CString output = "";
则
AfxExtractSubString(output, str, 0, ','); //123
AfxExtractSubString(output, str, 1, ',); //-456
AfxExtractSubString(output, str, 2, '/t'); //7.89
然后_ttof