問題タブ [c-standard-library]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
791 参照

c - ファイルの長さを計算するときに fseek() の戻り値を確認する必要がありますか?

バイナリ ファイルの長さを取得するための慣用的なスニペットがあります。

…ペダンティックであることfseek(file, 0, SEEK_END)は、バイナリ ストリームに対して未定義の動作をすることを知っています[ 1 ] – しかし、率直に言って、これが問題であるプラットフォームでは、私も持っていませんfstat()。とにかく、これは別の質問のトピックです…</p>

私の質問は次のとおりfseek()です。この場合、戻り値を確認する必要がありますか?

このようなケースでチェックされたのを見たことがありません。また、ここでどのようなエラーが返される可能性があるfseek()のか​​も気になります。fseek()

編集:

Clifford's answerを読んだ後、ファイルのサイズを計算する際に値を処理しfseek()ftell()返す最良の方法は、専用の関数を作成することだとも思います。ただし、Clifford の良い提案ではsize_tデータ型を処理できませんでした (結局、サイズが必要です!)。そのため、最終的に最も実用的なアプローチは、ファイルのサイズを格納するためにポインターを使用し、戻り値を保持することだと思います。故障専用機能の価値。安全なサイズ計算機のためのクリフォードのソリューションへの私の貢献は次のとおりです。

そのため、ファイルの長さを知る必要がある場合は、次のように簡単に実行できます。

0 投票する
4 に答える
7956 参照

printf - Clang はどの標準 C ライブラリを使用しますか? glibc、それ自身、または他のもの?

glibc が gcc の標準 C ライブラリ実装の名前であると確信しています。

しかし、LLVM/Clang についてはわかりません。標準Cライブラリ全体の独自の実装が付属しているかどうか、またはglibcも使用しているかどうかをGoogleで調べました。驚いたことに、私が見つけたのは、Google が LLVM 用の新しい libc を作成することを検討していることを論じた最近の記事だけです。しかし、それが置き換えるものではありません。

LLVM/Clang ソース リポジトリでさえ、私が盲目または愚かである可能性が高いのですが、それを見つけることができないようです。

明確にするために、私はC標準ライブラリにのみ興味があり、C++標準ライブラリには興味がありません。私は特にprintf、関数ファミリーの実装に興味があります。

Clang の libc/標準 C ライブラリの実装またはそのソース リポジトリを探す場所を教えてもらえますか?