私はstrncpy関数のラッパーを作成しました。再利用コードを入れる場所
多くのヘッダーとソースファイル(すべて約20個)が含まれているプロジェクトでこれを使用する必要があります。そして、このラッパーはそれらのほとんどで使用されます。
コードが非常に短いので、このラッパーを自分のプロジェクトに実装する最良の方法はどこですか?
これは、これがutilities.hというヘッダーにあると便利だと思います。それを必要とするすべてのソースファイルにこのヘッダーを含めますか?
将来のプロジェクトでも可能でしょうか?
私はCプログラムで新しくなったので、この問題に関するいくつかの良いガイダンスを探しています。
多くのおかげで、
/* Null terminate a string after coping */
char* strncpy_wrapper(char *dest, const char* source,
const size_t dest_size)
{
strncpy(dest, source, dest_size);
/*
* If the destination is greater than zero terminate with a null.
*/
if(dest_size > 0)
{
dest[dest_size - 1] = '\0';
}
return dest;
}
簡単な質問です。これはちょうど小さな関数なので。関数の宣言にヘッダ(utilities.h)を、定義用にソースファイル(utilities.c)を用意する必要がありますか? – ant2009
通常、コードを.cファイルに、宣言(関数シグネチャ)を.hファイルに入れます。このようにして、ソースコードを「出荷」する必要はありません(コンパイルされたコードで十分です)。 小さな関数の場合、それは奇妙ですが、プロジェクトが大きくなると、必要なものだけをコンパイルし、すべてのソースファイルではなく、コンパイル時間を大幅に増やすことができます。 – Burkhard