掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ビックエンディアンするには? (ID:52689)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
お世話になっております。 KENです。 >#include <iostream.h> >をCのプログラムに書くのはやめた方がよいです。 すいません・・・。 コンパイルエラーが起こっていて・・・。 何か足りないのでは?っとファイル入出力にiostreamの ライブラリ?が必要かと思い付け加えておりました。 はい。#include <iostream.h>消してコンパイル通りました。 ファイルマッピングができました。 今回、ファイルマッピング使って処理をおこなうことに決めました。 これで問題無いと思うので解決させて頂きます。 YuOさん 最後までご親切にご指導して頂き誠にありがとうございました。(号泣) 本当に本当に感謝しております。 ソースを掲載します。 -------------------------------------- #include <windows.h> #include "BigEndian.h" DWORD BigEndian(LPCTSTR lpFileName1) { HANDLE hFile1, hMap; DWORD dwFileSize; DWORD i; LPBYTE FileData; BYTE temp; hFile1 = CreateFile( lpFileName1, GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL ); if( hFile1 == INVALID_HANDLE_VALUE ){ return NOT_EXIST_FILE1; } dwFileSize = GetFileSize( hFile1, NULL ); if(hFile1 != INVALID_HANDLE_VALUE){ hMap = CreateFileMapping(hFile1, NULL, PAGE_READWRITE, 0, dwFileSize, NULL); if(hMap != INVALID_HANDLE_VALUE){ FileData = (LPBYTE)MapViewOfFile(hMap, FILE_MAP_WRITE, 0, 0, dwFileSize); } } if((hFile1 == INVALID_HANDLE_VALUE) || (hMap == INVALID_HANDLE_VALUE) || !FileData){ return NOT_EXIST_FILE1; } /* ビックエンディアン */ for( i=0; i < dwFileSize / 2; i++ ){ temp = FileData[2 * i]; FileData[2 * i] = FileData[2 * i + 1]; FileData[2 * i + 1] = temp; } if(FileData){ FlushViewOfFile(FileData, dwFileSize); UnmapViewOfFile(FileData); } if(hMap != INVALID_HANDLE_VALUE) CloseHandle(hMap); if(hFile1 != INVALID_HANDLE_VALUE) CloseHandle(hFile1); return SUCCESS; }
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.