Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
そのため、システム コマンド ファイルを使用すると、file を使用して、ファイルが ASCII テキストか「データ」かを判断できます。コードをチェックインする方法があるかどうか知りたいのですが、それはどれでしたか? ファイルが「データ」の場合、基本的に破損エラーをスローしたい。ファイルの読み取りに ifstream を使用しています。助けてくれてありがとう!
この質問の複製。
ファイルのバイトを反復処理し、std::isprintfromを使用し<cchar>て文字が印刷可能かどうかをテストできます。ファイルに印刷できない文字がある場合、それはバイナリ ファイルである可能性があります。これは、Unicode でエンコードされたファイルではなく、レガシー エンコーディング (たとえば、あなたが言及した ASCII) に対してのみ機能することに注意してください。
std::isprint
<cchar>