質問: %s",A); return 0; } ```
回答: `strcpy_s()` はもともと `Microsoft Visual C / C++` にて採用された新しい関数です。そのため `MSVC` 以外の処理系には `strcpy_s()` は実装されていないのが多いようです。 [c11](/questions/tagged/c11 "'c11' のタグが付いた質問を表示") つまり C の言語仕様書 ISO/IEC 9899:2011 では確かオプショナルで採用されたのですが [gcc](/questions/tagged/gcc "'gcc' のタグが付いた質問を表示") 開発グループはこの関数を [gcc](/questions/tagged/gcc "'gcc' のタグが付いた質問を表示") に(今は)実装しないことを決定している様子。 そのため [gcc](/questions/tagged/gcc "'gcc' のタグが付いた質問を表示") 開発グループが提供している libc では `strcpy_s()` は使えないです。つまり Ubuntu の libc では `strcpy_s()` は使えません([gcc](/questions/tagged/gcc "'gcc' のタグが付いた質問を表示") , [clang](/questions/tagged/clang "'clang' のタグが付いた質問を表示") とも) 課題なら開発環境の指定もあるはず。 Visual Studio なら素直に通るはずでが、指定されていませんか? `strcpy_s()` が Ubuntu の libc に無い、でも Ubuntu 上で使いたい、ということなら * 自作する * 既に完成しているソースコードを使わせてもらう * 既に完成しているライブラリを使わせてもらう あたりの選択肢があります。既にコメントにある通り `safeclib`を使ってもよさそうだし `MSVC` から `.h` と `.c` (`.cpp` かも未確認) をコピーしてもよさそうだし。 `strcpy_s()` の仕様解説はあちこちにあるわけでそれをもとに自作できれば最も勉強になるでしょう。 Eclipse は Windows でも動くので、動作プラットフォームは Windows10 統合開発環境は Eclipse コンパイラとライブラリは MSVC ってのも大いにありですよ? まあ課題なら Visual Studio 上でちゃっちゃと済ませてしまえばおしまいなので、そこまで手間(=コスト)をかけなくてもいいんぢゃね? とかは秘かに思ったりします。