这是我的代码
CCHAR sRead[8];
CFile mFile(L"HotKey.txt",CFile::modeRead);
if(mFile.GetLength()<8)
return TRUE;
for (int i = 0;i < 9;i++)
{
mFile.Read(sRead,8);
CRunData::HotKeyPage1[i]=sRead;
}
mFile.Read(sRead,8);
mFile.Close();
其中CRunData::HotKeyPage1[i]为CString类型下面是我的文件内容:
SSR HDG SPD LEFT RIGHT APCH TWR TOFF
CCHAR sRead[8];
CFile mFile(L"HotKey.txt",CFile::modeRead);
if(mFile.GetLength()<8)
return TRUE;
for (int i = 0;i < 9;i++)
{
mFile.Read(sRead,8);
CRunData::HotKeyPage1[i]=sRead;
}
mFile.Read(sRead,8);
mFile.Close();
其中CRunData::HotKeyPage1[i]为CString类型下面是我的文件内容:
SSR HDG SPD LEFT RIGHT APCH TWR TOFF
解决方案 »
- 如何向一个非模态对话框发送SW_RESTORE消息。
- MCI消息方式 如何控制 wav 播放速度 ?
- sdk中实现splash screen
- ILength = lstrlen (pString); 什么意思?
- 天黑了,我终于看到星星了,高兴!!散分,一会再另开帖散
- CArray<int,int&> TmpArray;是什么意思 ?
- 谁有用C语言写的RTL源代码,如能给一份,立即给分!!!
- 怎样建立批处理文件!
- 键盘钩子问题,高分求解(在线等待)
- 基于UDP的RTP传输协议是什么呀?哪位解释一下,谢谢。
- CAN总线转RS232及RS485程序问题?
- 在其他类中怎么调用视图类的OnPrepareDC函数
CString strText;
if( StdioFile.Open("HotKey.txt", CFile::modeRead) == TRUE )
{
StdioFile.SeekToBegin();
while ( StdioFile.ReadString(strText) == TRUE )
{
}
StdioFile.Close();
}
另外注意一下是否unicode的问题
用StdioFile的话,我该怎么样把文件中的值赋给HotKeyPage1[i]呢?
如果整个内容都在一行的话,用Seek进行确定内容。
用SEEK能给个例子吗?
谢谢!
是不是要把这个数组定义9个CCHAR sRead[9];
sRead[8] = '\0';或者每次循环加个 memset(sRead,0,9);
要不CString后面就会是乱码了吧
要定义成CCHAR sRead[9];
CStdioFile Read的时候,自己会向后移动读指针,不需要Seek
CCHAR sRead[9];
CFile mFile(L"HotKey.txt",CFile::modeRead);
if(mFile.GetLength() <8)
return TRUE;
for (int i = 0;i < 9;i++)
{
memset(sRead,0,9);
mFile.Read(sRead,8);
CRunData::HotKeyPage1[i]=sRead;
}
memset(sRead,0,9);
mFile.Read(sRead,8);mFile.Close();
CString strText;
if( StdioFile.Open("HotKey.txt", CFile::modeRead) == TRUE )
{
StdioFile.SeekToBegin();
for(int i=0; StdioFile.ReadString(strText) == TRUE && i<9; i++ )
{
CRunData::HotKeyPage1[i]=sRead;
}
StdioFile.Close();
}