CAtlFileを使用してのファイル読み込み – プログラミング – Home

CAtlFileを使用してのファイル読...
 
通知
すべてクリア

CAtlFileを使用してのファイル読み込み


PeenBall
 PeenBall
(@PeenBall)
ゲスト
結合: 20年前
投稿: 1
Topic starter  

お世話になっております。

CAtlFileを使用して、ファイルの読み込みを行ったのですが、
GetSize関数で取得した長さをRead関数で指定したにも関わらず
ゴミらしきものが入っていました。

回避する方法はないのでしょうか?

CAtlFile cFile;
hRet = cFile.Create(tFileName, GENERIC_READ,FILE_SHARE_READ,OPEN_EXISTING);
if (! SUCCEEDED(hRet))
{
return 0;
}
cFile.GetSize(nFileLength);
cFile.Read(lpData,nFileLength);


引用解決済
トピックタグ
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 21年前
投稿: 600
 

// fileread.cpp: 己自身を読む

#include <atlfile.h>
#include <cassert>
#include <iostream>

int main() {
CAtlFile file;
HRESULT result = file.Create(readfile.cpp,
GENERIC_READ,FILE_SHARE_READ,OPEN_EXISTING);
assert( SUCCEEDED(result) );
ULONGLONG length;
file.GetSize(length);
char* buffer = new char[length+1];
file.Read(buffer, length);
buffer[length] = '\0';
std::cout << '[' << buffer << ']' << std::endl;
return 0;
}

…何の問題もありません。ゴミなんか付きません。
ひょっとして、'\0'で終端せずにprintしただけ?


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました