for(int i=30;i--;i>0)应该是 for(int i=30;i>0;i--)吧。
解决方案 »
- 怎样判断取得的客户端的ip,是属于网通还是电信
- VC中有检测键盘中断的函数吗?
- 请教大侠,这个动态链接库怎么生成比较好?
- 【大虾指点】我想做一个基于对话框的应用程序,对话框资源以及处理全做到一个DLL中,应用程序调用中出错了,详情进...
- 请教一个关于Socket的简单问题,写过关于Socket的大侠们一定知道的,赐教!
- 一个漂亮的彩球(偶写的),你一定会喜欢!
- 关于ADO
- VC程序员 比LINUX 程序员 差?
- 怎么回事,csdn上忘了密码,取不回来了?
- ▲▲▲▲奇怪了,为什么debug模式可以,release就不行?▲▲▲▲
- 请大家给我帮助,高分相送!!!
- 请问有没有人知道,怎么样检测一台装了防火墙的主机是否在线?
取出‘=’后的数字
用atof转换CFile myfile;
if(myfile.Open(FileName,CFile::modeRead))
{
CArchive ar(&myfile,CArchive::load);
CString OkError;
ar>>OkError;
}
用
ar>>OkError;
比
mFile.Read(buf,6);
会好一点
让mfc来进行类型判断
{
CFile mFile;
char buf[20];
mFile.Open("D:\\input.out",CFile::modeRead);
char data[8];
char onebit[2];
int a=0; // a的定义必须放到这里
mFile.Seek(-30,CFile::end);
for(int i=30;i--;i>0)
{
mFile.Read(buf,6);
if(buf[0]=='V'&&buf[1]=='A'&&buf[2]=='L'&&buf[3]=='U'&&buf[4]=='E'&&buf[5]=='=') // buf[4]='E'少写一个=号
{
for(int n=1;n<16;n++)
{
mFile.Read(onebit,1);
if(onebit[0]=='1'||onebit[0]=='2'||onebit[0]=='3'||
onebit[0]=='4'||onebit[0]=='5'||onebit[0]=='6'||
onebit[0]=='7'||onebit[0]=='8'||onebit[0]=='9'||
onebit[0]=='0'||onebit[0]=='.') // 这里统统改成onebit[0], c语言是从0开始算的
{
//把 int a=0;移掉,否则每次都是data[0]=xx;
data[a]=onebit[0]; // 改成0
a++;
}
}
break;//找到之后记得退出
}
mFile.Seek(-i,CFile::end);
}
if( a>0 ) // 如果a>0表示找到了
{
data[a]=0; //字符串以0结尾,加一个0
double f = atof(data); //转换成浮点数
printf("%s,%f\n",data,f);
}
return 0;
}
何必如此麻烦:1,将后面的字符全部读出,在进行识别就可以了!
char buff[30];
mFile.Seek(-30,CFile::end);
mFile.Read(buff,30); // 空间不够,你自己加
for ( int i= 0 ; i<30 ; i++ )
{
if (buff[i] == 'v' || buff[i] == 'V' ) //lowcase or upcase
{
if ( buff[i+1] == 'a' || buff[i+1] = 'A')
... // to decide the location of '=' ,when you get you can do next
ePositon = i+6; // to store '=' position
}} //end this loop
for ( int i =ePosition ; i<30 ; i++ )
{
if (( buff[i] > '0' && buff[i] <'9') || buff[i] == '.')
{
//use a array store ,if it is a digit ,use
// function atoi(char ) change it
}
}//done
for(int n=1;n++;n<6)
改为:
for(int n=1;n<6;n++)还需要好好学学c语言另外一百分呢???