トップページ > 過去ログ > 記事閲覧
charへの代入について
名前:はるい 日時: 2013/03/21 17:25

int TESTSAM(char DEFEN[]) という関数でほかの関数から int TESTSAM("これはテストです"); とたとしてTESTSAM側でDEFENにある文字列(これはテストです)を別のcharに入れたいのですがしようとするとできません。 どうしてでしょうか?まだまだ初心者ですがよろしくお願いします。

Page: 1 |

Re: charへの代入について ( No.1 )
名前:Will 日時:2013/03/21 19:32

まず、「DEFEN」ってなんですか? 文章からはあなたが何がしたくて、何が出来ないのかさっぱりわかりません。 ソース全部貼り付けてください。
Re: charへの代入について ( No.2 )
名前:通りすがり 日時:2013/03/22 09:17

多分、引数で渡された char* の中身を、別のバッファに保存したいと言う事かと思いますので、 strncpy() 使えばいいのではないでしょうか。 //参考ソース const int TMPMAX=128; char tmpbuff[TMPMAX]; strncpy(tmpbuff, "これはテストです", TMPMAX); これで、tmpbuff の中に はるいさんが入れたい文字列を入れる事が出来ます。 基本的な部分だけを抜き出して書きましたが、関数内で tmpbuff を宣言した場合、auto変数になる為、関数を抜けた時点で領域が開放されます。 上記意味がわからない、又、strncpy() と書かれて、その意味が直にわからない場合、C言語 初心者 等でググッて、C の基礎的な部分を学ぶ段階だと思われます。 猫でもわかるC言語 さんとか、分かりやすいので目を通してみるといいと思います。 それでは失礼します。
Re: charへの代入について ( No.3 )
名前:はるい(解決済) 日時:2013/03/27 09:50

みなさんありがとうございます。 実は自己解決しました。 本当にありがとうございます。

Page: 1 |