以下の投稿を見て思ったこと
http://dixq.net/forum/viewtopic.php?f=3&t=19585
そういや
strcpy関数の戻り値って見たことないな。
戻り値を見たことある人誰かいます?
なぜ戻り値がchar*なのか、個人的にナゾ
(^^;
へにっくすの掲示板日記
strcpyの戻り値
RE: strcpyの戻り値
あれ、文字列コピー後の文字列全体(引数1番目に2番目をコピーしたあとの文字列)が返ってくるからchar*なんじゃないかと。へにっくす さんが書きました: そういや
strcpy関数の戻り値って見たことないな。
戻り値を見たことある人誰かいます?
コピー後の文字列長が返ってくるわけではないんですね(*´ヮ`)
Re: strcpyの戻り値
実験的なソースでしか書いたことないですが、こんな風に使えます。
printf("%s\n", strcat(strcpy(str, "hello"), " world"));
printf("%s\n", strcat(strcpy(str, "hello"), " world"));
Re: strcpyの戻り値
> usaoさん
そうですよねえ?
私もあまり・・・というか、最近まったく使っていません…
> asdさん
いやいや
何で戻り値がchar*なのかを、、、
まあいいや
そうですよねえ?
私もあまり・・・というか、最近まったく使っていません…
> asdさん
いやいや
何で戻り値がchar*なのかを、、、
まあいいや
Re: strcpyの戻り値
なんだろう、私が盛大に勘違いしてましたかね…へにっくす さんが書きました: > asdさん
いやいや
何で戻り値がchar*なのかを、、、
まあいいや
char* が返ってくるのがナゾってことでしたので、「コピー後の文字列サイズなり実行結果コードのintが返ってくるなど別のものが返ってくることを期待していた」と
推測していたのですが…そういうことではない?
壁|ω・`)もうしばらく悩んでみますね
Re: strcpyの戻り値
> asdさん
みたいにstrcpyの戻り値を変数に入れたりするようなコードを組んだことがあるかな?
と
思っただけ。
と
思っただけ。
最後に編集したユーザー へにっくす on 2017年9月27日(水) 21:59 [ 編集 1 回目 ]
- Dixq (管理人)
- 管理人
- 記事: 1662
- 登録日時: 14年前
Re: strcpyの戻り値
もうずっと最近はstd::string使ってどうしても必要な時だけc_str()してる感じですね・・。
Cしか使えないドライバの開発とかもう無理・・。
Cしか使えないドライバの開発とかもう無理・・。
Re: strcpyの戻り値
あぁぁ!そういうことでしたか!(゜∀゜)!悩んだまま寝ることにならなくて助かりました(気にしすぎw)
確かにわざわざ戻り値を使わなくても第1引数を参照したらいい話なので戻り値をわざわざ取得することはないかもですが、
自作関数の戻り値でreturn strcpy(str1, str2);みたいにするときは使えるかもですね(*´ヮ`)
壁|ω・`)微妙な例しか出せてない…w
時々C言語で開発することがあるのでstr系関数はそれなりにお世話になってます。
最後に編集したユーザー asd on 2017年9月27日(水) 23:37 [ 編集 1 回目 ]
Re: strcpyの戻り値
壁|ω・`)編集するつもりが返信をクリックしてしまいレスの削除もできなかったので無駄にレス数増やしてしまいました…ごめんなさい
最後に編集したユーザー asd on 2017年9月27日(水) 23:40 [ 編集 1 回目 ]