问题在
iCL[i]=int(str1[0]-'0')*10+int(str1[1]-'0');
不过有更简单的方法;
#include <stdio.h>
int iCL[12];
char *pFile="E:\\Test\\ttt.dat";
FILE *pFile=fopen(pFileName,"r");
if(pFile)
{
for(int i=0;i<12;i++)
fscanf(pFile,"%02d",iCL+i);
fclose(pFile);
}
else
exit(-1);此外,读取文本文件你也可以使用VC中的CStdioFile,不过没有stdio中FILE方便。
iCL[i]=int(str1[0]-'0')*10+int(str1[1]-'0');
不过有更简单的方法;
#include <stdio.h>
int iCL[12];
char *pFile="E:\\Test\\ttt.dat";
FILE *pFile=fopen(pFileName,"r");
if(pFile)
{
for(int i=0;i<12;i++)
fscanf(pFile,"%02d",iCL+i);
fclose(pFile);
}
else
exit(-1);此外,读取文本文件你也可以使用VC中的CStdioFile,不过没有stdio中FILE方便。
解决方案 »
- 字符串的拆分与组织
- 在线等,怎么遍历一个文件夹中的所有文件及子文件夹中的文件
- 在一个程序中用timeSetEvent创建多媒体定时器,最多只能创建10几个,为什么?
- CEditView怎么设定让文档自动换行
- 各位大虾,急啊!c++ 对excel操作的一个具体问题
- 你是真正的高手吗?点了就有答案.
- 我迷茫了!希望大家给我出出注意!
- 在一个定时器里显示MessageBox,每来一个Timer消息就会出一个对话框,为什么?
- 传真软件的那个虚拟打印机是怎么实现的?
- 请问哪里有比较全面的Winsock编程资料????????
- www.csdn.net/editor1/editor.htm 用什么写的
- 求救!那里有 VC++ FOR WINCE 下载
我按你讲的改了!!
结果对的!!
为什么要这样改!!
麻烦你说明一下!!
我为了做毕业设计才学VC,什么都不懂!!
谢谢你!
这样也许就可以了
char* pFileName="E:\\Test\\ttt.dat";
CFile file;
file.Open(pFileName,CFile::modeReadWrite);
char str1[2];
int iCL[12];
file.SeekToBegin();
for(int i=0;i<12;i++)
{
for(int j=0;j<2;j++)
{
file.Read(&str1[j],1);
}
iCL[i]= atoi(str1);
}
所以:if str1[0]='1' str1[1]='2'
int(str1[0])*10+int(str1[1])is int('1'*10)+int ('2')即49*10+50 得到540
如果:
int(str1[0]-48)*10+int(str1[1]-48);is int(('1'-48)*10)+int ('2'-48)即((49-48)*10)+(50-48)得1*10+2=12
我的天啊,我没有耐心了!
88