質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

Q&A

解決済

2回答

2996閲覧

C言語 strncpy_s 引数

hip

総合スコア7

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

0グッド

0クリップ

投稿2017/11/22 07:10

[C言語 初歩的な質問]
独学でプログラミングを始めたばかりなのですが、C言語でエラーが出て困っています。
助けてください。
文字列をコピーしようとstrncpy_sを使って以下を実行したのですが、
引数が足りないというエラーが出ました。
Visual Stdio 2017を使っています。
調べてみても引数の数はあってるような気がするんですが、
何が間違っているのか教えてください。
よろしくお願いいたします。

#include<stdio.h> #include<string.h> int main(void) { char str1[] = "MARIO"; char str2[10]; strncpy_s(str2, str1, 3); str2[3] = '\0'; printf("%s\n", str2); return 0; } コード

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

エラーメッセージそのまんまです。
引数が足りてません。
マニュアル

c

1errno_t strncpy_s( 2 char *strDest, 3 size_t numberOfElements, 4 const char *strSource, 5 size_t count 6); 7

投稿2017/11/22 07:18

ttyp03

総合スコア16998

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hip

2017/11/22 07:32

ありがとうございます。解決しました。 助かりました。
guest

0

ベストアンサー

引数が3つなのはstrncpyであってstrncpy_sは4つです。_sがつくセキュア関数は「書き込み先のサイズ」も引数として必要です。
https://msdn.microsoft.com/ja-jp/library/5dae5d43.aspx

投稿2017/11/22 07:16

masaya_ohashi

総合スコア9206

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hip

2017/11/22 07:30

ありがとうございます。解決しました。 以後はマニュアルに目を通してから質問します。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問