テキストファイルを正しく読み込めない

返信する


答えを正確に入力してください。答えられるかどうかでスパムボットか否かを判定します。

BBCode: ON
[img]: ON
[url]: ON
スマイリー: OFF

トピックのレビュー
   

展開ビュー トピックのレビュー: テキストファイルを正しく読み込めない

by doloop » 2006年11月27日(月) 22:49

ありがとうございます。うまく行ったようです。

Re:テキストファイルを正しく読み込めない

by M.K » 2006年11月27日(月) 13:09

こんにちは

'文字列バッファ用のメモリを確保
buffer=calloc(dwFileSize)



'文字列バッファ用のメモリを確保
buffer=calloc(dwFileSize + 1)

と変更してみてください。

テキストファイルを正しく読み込めない

by doloop » 2006年11月27日(月) 04:45

たびたび質問してすみません
次のコード(HelpCenterのとほとんど同じ)で、

コード: 全て選択

#include "test.idx"
#console
    Dim hEdit As Long
    Dim ofn As OPENFILENAME
    Dim hFile As Long
    Dim dwFileSize As DWord
    Dim dwAccessByte As DWord
    Dim FileName[MAX_PATH-1] As Byte
    Dim buffer As BytePtr

    'OPENFILENAME構造体の初期化
    FillMemory(VarPtr(ofn),Len(ofn),0)
    ofn.lStructSize=Len(ofn)
    ofn.hwndOwner=0
    ofn.lpstrFilter=Ex"テキスト ファイル(*.txt)\0*.txt\0すべてのファイル(*.*)\0*\0\0"
    ofn.nFilterIndex=1
    ofn.lpstrFile=FileName
    ofn.nMaxFile=MAX_PATH
    ofn.lpstrTitle="ファイルを開く"
    ofn.Flags=OFN_FILEMUSTEXIST or OFN_HIDEREADONLY or OFN_PATHMUSTEXIST
    ofn.lpstrDefExt="*"

    '「ファイルを開く」ダイアログ ボックスを表示
    If GetOpenFileName(ofn)=0 Then End


    '-------------------
    ' ファイル オープン
    '-------------------

	write MakeStr(ofn.lpstrFile)

	'lstrcpy(ofn.lpstrFile,ss)
    hFile=CreateFile(ofn.lpstrFile, GENERIC_READ, FILE_SHARE_READ or FILE_SHARE_WRITE, _
                     ByVal 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0)
    If hFile=INVALID_HANDLE_VALUE Then
        MessageBox(0,"ファイルオープンに失敗","TextEditor",MB_OK or MB_ICONEXCLAMATION)
        End
    End If

    'ファイルサイズを取得
    dwFileSize=GetFileSize(hFile,0)

    '文字列バッファ用のメモリを確保
    buffer=calloc(dwFileSize)

    'ファイルの内容を文字列変数bufferに読み込む
    ReadFile(hFile,buffer,dwFileSize,VarPtr(dwAccessByte),ByVal 0)

    'ファイル ハンドルを閉じる
    CloseHandle(hFile)

    '-------------------
    print MakeStr(buffer)

End
テキストファイルを読み込むと、テキストファイルの内容の後に

などと表示されます。
プログラムのバグなのでしょうか?それとも、ActiveBasicのバグなのでしょうか?
環境はXP HomeEdision Version2002 SP2です
アドバイスをください[quote][/quote]

ページトップ