C API(標準ライブラリ、サードパーティのライブラリ、プロジェクト内のヘッダーなど)の問題を引き起こす欠陥は何ですか?目標は、CでのAPI設計の落とし穴を特定することです。これにより、新しいCライブラリを作成するユーザーは、過去の過ちから学ぶことができます。
欠陥が悪い理由を説明し(できれば例を挙げて)、改善策を提案してください。あなたの解決策は実際には実用的ではないかもしれませんが(修正するには遅すぎますstrncpy
)、将来のライブラリライターのために準備を整える必要があります。
この質問の焦点はC APIですが、他の言語でそれらを使用する能力に影響を与える問題は大歓迎です。
民主主義が回答を分類できるように、回答ごとに1つの欠陥を指定してください。
malloc
'd文字列がそれを修正する方法を説明してください。最初の答えで良い例を示すことは、この質問を成功させるのに本当に役立つと思います。ありがとう!