ファイル(jpg、txt、zip、cpp、...)をバイナリファイルとして開くにはどうすればいいですか?私は、通常、そのファイル形式を解釈するプログラムによってフォーマットされる前に、バイトを見たいと思っています。 可能でしょうか? C++でどうすればいいですか?おかげさまで 任意のファイルをバイナリファイルとして開きます
0
A
答えて
1
あなたがそうする機能をPOSIX使用(C道をしかし++ Cで動作する)ことができます。
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
int fd = open("file.bin", O_RDONLY); //Opens the file
if(fd<0){
perror("Error opening the file");
exit(1);
}
char buf[1024];
int i;
ssize_t rd;
for(;;){
rd = read(fd, buf, 1024);
if(rd==-1) //Handle error as we did for open
if(rd==0) break;
for(i = 0; i < rd; i++)
printf("%x ", buf[i]); //This will print the hex value of the byte
printf("\n");
}
close(fd);
0
あなたは古いCインタフェース(fopen()
、など)が、C++の方法を使用することができ、ファイル・ストリームに基づいています:などfstream
、ifstream
、ofstream
、wfstream
、
バイナリモード(およびないテキストモード)で開くには、あなたはフラグstd::ios::binary
を使用する必要があります。以下の方法で
例では、あなたは(一度に1文字)のファイルを読むことができます
#include <fstream>
#include <iostream>
int main()
{
char ch;
std::ifstream fl("file.log", std::ios::binary);
while (fl.read(&ch, sizeof(ch)))
std::cout << "-- [" << int(ch) << "]" << std::endl;
return 0;
}
PS:私の悪い英語
関連する問題
- 1. viエディタで、任意のプログラムで任意のタイプのファイルを開きます
- 2. メモ内の任意のファイルを開きますか?
- 3. Zipアーカイブ内のバイナリファイルをZipExtFileとして開きます
- 4. 任意のメールクライアントでemlファイルを開いてスクリーンショットを撮る
- 5. ウェブページの任意の場所をクリックして選択ドロップダウンを開きます
- 6. ファイルごとに任意のファイルをコピーすることはできますか?
- 7. オートメーションテストブラウザまたは任意のUIを開くことなし
- 8. 任意のURLからアプリを開きます(ディープリンク)
- 9. 任意のWebブラウザでダウンロードダイアログを開きますか?
- 10. C - バイナリファイルから任意の構造体への読み込み
- 11. 任意のASP.NETプロジェクトを開始できません
- 12. ファイル内のバイトを任意のプログラムにストリーミングできますか?
- 13. 任意の名前のファイルを開くためのサブルーチン
- 14. iframe内の任意の拡張子のファイルを開く
- 15. QTアプリケーションに任意のファイルをドラッグ&ドロップできますか?
- 16. バイナリファイルまたは任意のファイルをリモートサーバに転送するにはどうすればよいですか? - Ruby
- 17. 任意の色を選択できる任意のCustomViewがあります
- 18. SimpleITK N4BiasFieldCorrection、として任意のデータ型
- 19. 任意のディレクトリにxmlファイルを作成できません
- 20. Pythonで任意のファイルを開く方法はありますか?
- 21. LaravelはGoogleドライブの任意のサイズのファイルをアップロードします
- 22. J2EEアプリケーションをJARまたは任意の実行可能ファイルとして作成
- 23. バット(または任意の)ファイルにナビゲートするときのデフォルトのディレクトリ
- 24. Windows 7のコマンドラインで任意のバイナリファイルを作成する方法は?
- 25. XMLファイルのデータセット、データアダプタを使用して任意のデータソースを更新します。
- 26. Android webview URLリンクを使用して任意のファイルまたはmp3ファイルをダウンロード
- 27. 任意の.NETタイプ/インタフェースをリストとしてパターンマッチングできますか?
- 28. CakePHP 3:PagesControllerの任意のアクションへのリンクは同じアクションを開きます
- 29. バッチを使用してファイルを作成すると、%(任意のテキスト)が書き込まれない
- 30. 「「アリア展開」属性任意のコンテンツエディタ
'読んで()' 'を返しますssize_t'のため申し訳ありませんが、 'int'ではなく。 –
あなたは正しいです、 – Omar
@Omar - C++では、標準のansi-C 'fopen()'インタフェースを使うこともできます – max66