在哪里放置可重复使用的代码

时间:2009-07-26 15:44:43

标签: c

我已经为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;
}

3 个答案:

答案 0 :(得分:3)

使用标题是个好主意。我建议你给它一个“守卫”。类似的东西:

#ifndef UTILITIES_H
#define UTILITIES_H

//definitions here

#endif //UTILITIES_H

答案 1 :(得分:2)

您将它放在utilities.h文件中的想法并不错。这是一个非常常见的解决方案。但请确保没有更具体的方法可以在应用程序中对此功能进行分类。众所周知 - 所有内容都可以标记为杂项,这正是utilities.h文件的含义。

答案 2 :(得分:1)

我认为你走的是正确的道路。构建具有常用功能的库是很常见的,可以在必要时包含这些功能。您经常会找到它们的名称,如Helper,Common或您建议的Utilities。