#ifndef _SAFE_STRING_H #define _SAFE_STRING_H 1 /** * @file safe_string.h * @brief 安全な文字列処理用関数のヘッダ */ #include /** * @brief 安全な strncpy() 関数 * @param dest コピー先文字列 * @param size_dest コピー先文字列バッファの大きさ * @param src 源泉文字列 * @param n コピーを行なう文字数 * @return dest の値 */ inline static char *safe_strncpy( char *dest, size_t size_dest, const char *src, size_t n ) { n ++; if ( n < size_dest ) size_dest = n; if ( 0 < size_dest ) { const size_t m = size_dest - 1; strncpy(dest,src,m); dest[m] = '\0'; } return dest; } #endif /* _SAFE_STRING_H */