アプリ版:「スタンプのみでお礼する」機能のリリースについて

strncpyの場合は、\0を付加しないのですが、_tcsncpy_sは ヌルを付加しますが、これは仕様でしょうか?
同じ意味の関数なのにヌルの振る舞いが異なると勘違いします。

TCHAR型を扱う関数で、strncpyと同じようにnullを付加しない関数はあるのでしょうか?

このあたりについて詳しく書かれている本も探しております。

strcpy(buf1, "aaaaa");
strncpy(buf1, "b", 1);

結果
buf[0] = "b"
buf[1] = "a"
buf[2] = "a"
buf[3] = "a"
buf[4] = \0


_tcscpy_s(buf1, sizeof(buf1), "aaaaa");
_tcsncpy_s(buf1, sizeof(buf1), "b", 1);

結果
buf[0] = "b"
buf[1] = \0
buf[2] = "a"
buf[3] = "a"
buf[4] = \0

A 回答 (1件)

strncpyに対応するchar/wchar_t切り替え用のマクロは,_tcsncpyになります。


http://msdn.microsoft.com/en-us/library/xdsywd25 …

_tcsncpy_sに対応するchar用の関数は,strncpy_sになります。
http://msdn.microsoft.com/en-us/library/5dae5d43 …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています