在vc中读文件的问题? 用你以前得C runtime库函数就可以了或者用C++的runtime库函数(流操作)也可以或者用CStdioFile最简单了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我想把字符取到一个数组中,该数组用什么类型,我是用CString X[N]类型。但用while(FSCANF(STREAM,“%S”,X[I++])!=EOF);操作错误。 CFile file(_T("file.TXT"),CFILE::modeRead)DWORD dwBytesRemaing=file.GetLength();while(dwBytesRemaing){ uint nBytesRead = file.read(buffer,sizeof(buffer));dwBytesRemaing-=nBytesRead;} //...CStdioFile myFile;myFile.Open("C:\\windows\\system.ini",CStdioFile::modeReadWrite);CString str;myFile.ReadString(str);MessageBox(str);myFile.ReadString(str);MessageBox(str);//... HANDLE hFile = CreateFile( "文件路径", GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, NULL, NULL );if ( hBmpFile ){ DWORD dwSize = GetFileSize( hFile, NULL ); if ( dwSize>0 ){ char *pszBuf = new char[dwSize]; memset( pszBuf, 0, dwSize ); DWORD dwBytesRead = 0; if ( ReadFile( hBmpFile, (LPVOID)pszBuf, dwSize, &dwBytesRead, NULL ) ){ //读取文件信息成功了... } delete pszBuf; pszBuf = NULL; } CloseHandle( hBmpFile );} 用cstdiofile最简单,readstring(str) writestring 一次读写一行,用字符数组就可以存储了,也可以用CSTRING 类。判断文件结束与否?我是这样做的:m_file.Seektoend()DWORD endposition=m_file.GetCurrentPosition();m_file.Seektobegin()DWORD currentpositon=m_file.GetCurrentPosition();后面每读一次,更新当前位置,与文件结束位置endposition比较,判断文件是否结束?太笨的方法了 ^_^,我 一只想知道更简单的方法。 所谓的字符数组就是char?我以前学的是c,在vc++中有还有什么处理汉字的,String?谢谢以上各位!!! 是的,就是char buffer[100]之类。CString 类可以处理汉字 利用CFILE 类,可以打开文件后者存储文件,很方便使用!帮助中有,很好用!!! CFile类方便,可以打开文件后者存储文件,很方便使用 MSDN中有详细说明 CStringArray 数组类解决你的问题十分方便,首先得好好设计你要读的的字符的长度,然后,CStringArray mycsa;//注意在适当的地方声明int iStringSize;//需要在用到的地方初始化//以下沿用rick1126()前辈的部分代码HANDLE hFile = CreateFile( "文件路径", GENERIC_READ, FILE_SHARE_READ, NULL, PEN_EXISTING, NULL, NULL );if ( hBmpFile ){ DWORD dwSize = GetFileSize( hFile, NULL ); if ( dwSize>0 ){ CString csTemp; DWORD dwBytesRead = 0; if ( ReadFile( hBmpFile, csTemp.GetBuffer(iStringSize), iStringSize, &dwBytesRead, NULL ) ) { //读取文件信息成功了... } csTemp.ReleaseBuffer(iStringSize); mycsa.Add(csTemp); } CloseHandle( hBmpFile );}//注意不要忘了释放mycsa的空间 【线程创建失败】AfxBeginThread --GetLastError 返回8 请教选择Win 32 debug编译正常运行,选择WIN32 Release 编译的exe运行出错??? 进程问题 各位大虾:请问VS2005 中的VC 中如何形成 WORD 文档 ! COM组件? 或者 API? 黑底的窗口在拉动改变大小的时候会闪烁,如何解决? 急啊,这个怎么回事啊? 改变视图基类 高分求扑克牌的BMP图 能否提供VisualAssist v6.1.1081 的注册码? 这是系统钩子的问题吗? 如何编写代码,安装一个数据库驱动? 入门问题:#pragma once是什么意思?
我是用CString X[N]类型。
但用while(FSCANF(STREAM,“%S”,X[I++])!=EOF);
操作错误。
DWORD dwBytesRemaing=file.GetLength();
while(dwBytesRemaing)
{
uint nBytesRead = file.read(buffer,sizeof(buffer));
dwBytesRemaing-=nBytesRead;
}
CStdioFile myFile;
myFile.Open("C:\\windows\\system.ini",CStdioFile::modeReadWrite);
CString str;
myFile.ReadString(str);
MessageBox(str);
myFile.ReadString(str);
MessageBox(str);
//...
if ( dwSize>0 ){
char *pszBuf = new char[dwSize];
memset( pszBuf, 0, dwSize ); DWORD dwBytesRead = 0;
if ( ReadFile( hBmpFile, (LPVOID)pszBuf, dwSize, &dwBytesRead, NULL ) ){ //读取文件信息成功了...
}
delete pszBuf;
pszBuf = NULL;
}
CloseHandle( hBmpFile );}
m_file.Seektoend()
DWORD endposition=m_file.GetCurrentPosition();
m_file.Seektobegin()
DWORD currentpositon=m_file.GetCurrentPosition();
后面每读一次,更新当前位置,与文件结束位置endposition比较,判断文件是否结束?太笨的方法了 ^_^,我 一只想知道更简单的方法。
我以前学的是c,
在vc++中有还有什么处理汉字的,String?
谢谢以上各位!!!
CString 类可以处理汉字
帮助中有,很好用!!!
CStringArray mycsa;//注意在适当的地方声明
int iStringSize;//需要在用到的地方初始化
//以下沿用rick1126()前辈的部分代码
HANDLE hFile = CreateFile( "文件路径", GENERIC_READ, FILE_SHARE_READ, NULL, PEN_EXISTING, NULL, NULL );
if ( hBmpFile ){
DWORD dwSize = GetFileSize( hFile, NULL );
if ( dwSize>0 ){
CString csTemp;
DWORD dwBytesRead = 0;
if ( ReadFile( hBmpFile, csTemp.GetBuffer(iStringSize), iStringSize, &dwBytesRead, NULL ) )
{
//读取文件信息成功了...
}
csTemp.ReleaseBuffer(iStringSize);
mycsa.Add(csTemp);
}
CloseHandle( hBmpFile );
}
//注意不要忘了释放mycsa的空间