C言語の勉強をしている者です。エラーが解消されなくて困っています。差し支えなければ、どなたかエラーの解消方法を教えていただけませんか。
環境は、Visual Studio2017,Windows 10です。
(問題)
キーボードから2つの字列を入力し、その2つを結合した文字列を表示するプログラムを作成しなさい。ただし、最終的に出力する文字列は、strcpy()および、strcat()関数を用いて、2つの文字列を1つに統合したものにすること。
(期待される実行結果)
文字列1:ABC ← キーボードから入力
文字列2:DEF ← キーボードから入力
結合した結果:
ABCDEF
(私が作成したプログラム)
#include<stdio.h>
#include<string.h>
void main() {
char s1[10],s2[10],ans[10];
printf("文字列:");
scanf_s("%s", &s1);
printf("文字列:");
scanf_s("%s", &s2);
strcpy(ans, s1);
strcat(ans, s2);
printf("結合した結果:\n%s", ans);
}
(エラー、実行結果)
1>------ ビルド開始: プロジェクト: Project16, 構成: Debug Win32 ------
1>probex5-1.c
1>c:\users\watan\source\repos\project16\probex5-1.c(7): warning C4473: 'scanf_s': 書式文字列として渡された引数が不足しています
1>c:\users\watan\source\repos\project16\probex5-1.c(7): note: プレースホルダーとそのパラメーターには 2 の可変個引数が必要ですが、1 が指定されています。
1>c:\users\watan\source\repos\project16\probex5-1.c(7): note: 不足している可変個引数 2 が書式文字列 '%s' に必要です
1>c:\users\watan\source\repos\project16\probex5-1.c(7): note: この引数はバッファー サイズとして使用されます
1>c:\users\watan\source\repos\project16\probex5-1.c(9): warning C4473: 'scanf_s': 書式文字列として渡された引数が不足しています
1>c:\users\watan\source\repos\project16\probex5-1.c(9): note: プレースホルダーとそのパラメーターには 2 の可変個引数が必要ですが、1 が指定されています。
1>c:\users\watan\source\repos\project16\probex5-1.c(9): note: 不足している可変個引数 2 が書式文字列 '%s' に必要です
1>c:\users\watan\source\repos\project16\probex5-1.c(9): note: この引数はバッファー サイズとして使用されます
1>c:\users\watan\source\repos\project16\probex5-1.c(10): error C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>c:\program files (x86)\windows kits\10\include\10.0.16299.0\ucrt\string.h(136): note: 'strcpy' の宣言を確認してください
1>c:\users\watan\source\repos\project16\probex5-1.c(11): error C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>c:\program files (x86)\windows kits\10\include\10.0.16299.0\ucrt\string.h(93): note: 'strcat' の宣言を確認してください
1>プロジェクト "Project16.vcxproj" のビルドが終了しました -- 失敗。
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========
No.1ベストアンサー
- 回答日時:
scanf_s は、scanfとは使い方が違います。
scanf_s を使うなら、引数もそれに合わせてください。
または、 scanf を使ってください。
詳しくは
error C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
とある通りです。
error C4996 で検索するとよいでしょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- C言語・C++・C# c言語配列の結合についてです。 なぜうまくいかないのでしょうか。 #include <stdio.h 4 2022/05/30 22:42
- C言語・C++・C# c言語でユーザ関数を利用して入力された文字列を反転させるプログラムを作りたいです。 3 2023/01/29 19:47
- その他(プログラミング・Web制作) python文字化けエラーが発生しているようです 3 2022/04/13 19:41
- C言語・C++・C# C言語の課題が出たのですが自力でやっても分かりませんでした。 要素数がnであるint型の配列v2の並 3 2022/11/19 17:41
- C言語・C++・C# このプログラミングの問題を教えて欲しいです。 キーボードから整数kを入力し、kが配列aの中に何個存在 2 2022/12/19 22:50
- C言語・C++・C# プログラミングの問題です。至急教えてください。 /***から***/の部分をプログラミングにしてほし 1 2022/10/13 11:48
- C言語・C++・C# このプログラミングの問題を教えてほしいです。 キーボードからデータ数nとn個のデータを入力し、平均値 3 2022/12/19 22:51
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Left関数とRight関数を合わせた...
-
エクセルでアルファベットか数...
-
文字列からタブコードを取り除...
-
VBAでの Replace関数で、ワイル...
-
LEFT関数で文字数を指定しない...
-
ORCLEでの小数の表示方法の変更...
-
Excelで偶数行だけ文字列を数え...
-
同一セル内に関数と文字列を同...
-
EXCELで=より左の文字を一括で...
-
Excelで3E8を3.00E+8にしない方...
-
エクセルで文字列の最大値を抽...
-
C言語で文字列の中の文字列のカ...
-
VBA2005 16進を2桁で表示したい。
-
php言語の脆弱性について
-
エクセルで文字列をtxtファイル...
-
szの意味
-
C言語の勉強しています。すみま...
-
エクセルマクロ 特定の文字列...
-
ドメインとSEO ドメインの一文...
-
ダブルコーテーションでアンド...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルでアルファベットか数...
-
EXCELで=より左の文字を一括で...
-
VBAでの Replace関数で、ワイル...
-
Excelで指数表現しないようにす...
-
文字列からタブコードを取り除...
-
Excelで3E8を3.00E+8にしない方...
-
エクセルで文字列をtxtファイル...
-
エクセルで文字列の最大値を抽...
-
VBA2005 16進を2桁で表示したい。
-
同一セル内に関数と文字列を同...
-
Left関数とRight関数を合わせた...
-
VBの「As String * 128」とは?
-
Msgboxの×が押されたとき
-
【Excel VBA】複数ある特定の文...
-
MS SQLServer のSQLで文字列の...
-
アクセスで特定の数字以外(複...
-
エクセルでセル内の文字列の最...
-
ORCLEでの小数の表示方法の変更...
-
変数内に入った文字列の結合 UWSC
-
エクセル 数値データを桁をそ...
おすすめ情報