nlib
Cstring.h ファイル

strlen, strcpy等を安全に使えるようにラップしています。 [詳解]

#include <stdarg.h>
#include <string.h>
#include "nn/nlib/Config.h"

[ソースコード]

名前空間

 nn::nlib
 共通して使われることの多いストリーム関連のクラス群や各種コンテナ、及びガシェットクラスが実装されています。nlib_nsはエイリアスです。
 

関数

size_t nn::nlib::StrLen (const char *str) noexcept
 nlib_strlen()をラップします。
 
size_t nn::nlib::StrLen (const nlib_utf16_t *str) noexcept
 nlib_utf16len()をラップします。
 
size_t nn::nlib::StrLen (const nlib_utf32_t *str) noexcept
 nlib_utf32len()をラップします。
 
size_t nn::nlib::StrLen (const wchar_t *str) noexcept
 nlib_wcslen()をラップします。
 
errno_t nn::nlib::CodePointCount (const char *str, size_t *count) noexcept
 nlib_strcplen()をラップします。
 
errno_t nn::nlib::CodePointCount (const nlib_utf16_t *str, size_t *count) noexcept
 nlib_utf16cplen()をラップします。
 
errno_t nn::nlib::CodePointCount (const nlib_utf32_t *str, size_t *count) noexcept
 nlib_utf32cplen()をラップします。
 
errno_t nn::nlib::CodePointCount (const wchar_t *str, size_t *count) noexcept
 nlib_wcscplen()をラップします。
 
int nn::nlib::StrCmp (const char *s1, const char *s2) noexcept
 strcmp()をラップします。
 
int nn::nlib::StrCmp (const wchar_t *s1, const wchar_t *s2) noexcept
 wcscmp()をラップします。
 
int nn::nlib::StrCmp (const nlib_utf16_t *s1, const nlib_utf16_t *s2) noexcept
 UTF-16文字列をstrcmp()と同様に比較します。
 
int nn::nlib::StrCmp (const nlib_utf32_t *s1, const nlib_utf32_t *s2) noexcept
 UTF-32文字列をstrcmp()と同様に比較します。
 
int nn::nlib::StrNcmp (const char *s1, const char *s2, size_t n) noexcept
 strncmp()をラップします。
 
int nn::nlib::StrNcmp (const wchar_t *s1, const wchar_t *s2, size_t n) noexcept
 wcsncmp()をラップします。
 
int nn::nlib::StrNcmp (const nlib_utf16_t *s1, const nlib_utf16_t *s2, size_t n) noexcept
 UTF-16文字列をstrncmp()と同様に比較します。
 
int nn::nlib::StrNcmp (const nlib_utf32_t *s1, const nlib_utf32_t *s2, size_t n) noexcept
 UTF-32文字列をstrncmp()と同様に比較します。
 
errno_t nn::nlib::StrCpy (char *dest, size_t dest_size, const char *src) noexcept
 nlib_strcpy()をラップします。
 
errno_t nn::nlib::StrCpy (nlib_utf16_t *dest, size_t dest_size, const nlib_utf16_t *src) noexcept
 nlib_utf16cpy()をラップします。
 
errno_t nn::nlib::StrCpy (nlib_utf32_t *dest, size_t dest_size, const nlib_utf32_t *src) noexcept
 nlib_utf32cpy()をラップします。
 
errno_t nn::nlib::StrCpy (wchar_t *dest, size_t dest_size, const wchar_t *src) noexcept
 nlib_wcscpy()をラップします。
 
template<class T , size_t N>
errno_t nn::nlib::StrCpy (T(&dest)[N], const T *src) noexcept
 内部でStrCpy(&dest[0], N, src)を呼び出します。 [詳解]
 
errno_t nn::nlib::StrNcpy (char *dest, size_t dest_size, const char *src, size_t n) noexcept
 nlib_strncpy()をラップします。
 
errno_t nn::nlib::StrNcpy (nlib_utf16_t *dest, size_t dest_size, const nlib_utf16_t *src, size_t n) noexcept
 nlib_utf16ncpy()をラップします。
 
errno_t nn::nlib::StrNcpy (nlib_utf32_t *dest, size_t dest_size, const nlib_utf32_t *src, size_t n) noexcept
 nlib_utf32ncpy()をラップします。
 
errno_t nn::nlib::StrNcpy (wchar_t *dest, size_t dest_size, const wchar_t *src, size_t n) noexcept
 nlib_wcsncpy()をラップします。
 
template<class T , size_t N>
errno_t nn::nlib::StrNcpy (T(&dest)[N], const T *src, size_t n) noexcept
 内部でStrNcpy(&dest[0], N, src, n)を呼び出します。 [詳解]
 
template<class T , size_t N>
errno_t nn::nlib::StrCat (T(&dest)[N], const T *src) noexcept
 内部でStrCat(&dest[0], N, src)を呼び出します。 [詳解]
 
template<class T , size_t N>
errno_t nn::nlib::StrNcat (T(&dest)[N], const T *src, size_t n) noexcept
 内部でStrNcat(&dest[0], N, src, n)を呼び出します。 [詳解]
 
int nn::nlib::VsnPrintfFallback (char *buf, size_t size, const char *fmt, va_list args) noexcept
 VsnPrintfのフォールバックです。ワイド文字版も実装されています。 [詳解]
 
int nn::nlib::VsnPrintf (char *buf, size_t size, const char *fmt, va_list args) noexcept
 vsnprintf()を実行します。 [詳解]
 
template<size_t N>
int nn::nlib::VsnPrintf (char(&buf)[N], const char *fmt, va_list args) noexcept
 内部でVsnPrintf(buf, N, fmt, args)を実行します。 [詳解]
 
int nn::nlib::SnPrintf (char *buf, size_t size, const char *fmt,...) noexcept
 内部でVsnPrintf()を呼び出す以外はsnprintf相当の動作をします。 [詳解]
 
template<size_t N>
int nn::nlib::SnPrintf (char(&buf)[N], const char *fmt,...) noexcept
 内部でVsnPrintf()を実行します。 [詳解]
 
int nn::nlib::VsnPrintf (wchar_t *buf, size_t size, const wchar_t *fmt, va_list args) noexcept
 vsnprintfを実行します。 [詳解]
 
template<size_t N>
int nn::nlib::VsnPrintf (wchar_t(&buf)[N], const wchar_t *fmt, va_list args) noexcept
 内部でVsnPrintf(buf, N, fmt, args)を実行します。 [詳解]
 
int nn::nlib::SnPrintf (wchar_t *buf, size_t size, const wchar_t *fmt,...) noexcept
 内部でVsnPrintf()を呼び出す以外はsnwprintf相当の動作をします。 [詳解]
 
template<size_t N>
int nn::nlib::SnPrintf (wchar_t(&buf)[N], const wchar_t *fmt,...) noexcept
 内部でVsnPrintf()を実行します。 [詳解]
 

詳解

strlen, strcpy等を安全に使えるようにラップしています。

Cstring.h に定義があります。