配列に文字を1字ずつ代入する
Re: 配列に文字を1字ずつ代入する
素直に
参考:苦C http://9cguide.appspot.com/14-03.html
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)
-
bonbo
Re: 配列に文字を1字ずつ代入する
>涼雅さん
ありがとうございます。ただそれだとやはり初期化処理を行う段階で格納しなきゃならないですよね…
>みけCATさん
ありがとうございます。
なるほど、あと2バイトずつ表示するように工夫すれば…と思ったのですが
これでは1文字(たとえば"いただきます"の"き"だけ)を表示させることはできないのではないでしょうか…
へんな解釈をしていたらごめんなさい…
ありがとうございます。ただそれだとやはり初期化処理を行う段階で格納しなきゃならないですよね…
>みけCATさん
ありがとうございます。
なるほど、あと2バイトずつ表示するように工夫すれば…と思ったのですが
これでは1文字(たとえば"いただきます"の"き"だけ)を表示させることはできないのではないでしょうか…
へんな解釈をしていたらごめんなさい…
Re: 配列に文字を1字ずつ代入する
対象の文字コードは何ですか?(Windowsなら主にShift-JIS、Linuxなら主にUTF-8など)bonbo さんが書きました:なるほど、あと2バイトずつ表示するように工夫すれば…と思ったのですが
これでは1文字(たとえば"いただきます"の"き"だけ)を表示させることはできないのではないでしょうか…
へんな解釈をしていたらごめんなさい…
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)
Re: 配列に文字を1字ずつ代入する
もう少しわかるように説明してください。何をいいたいのか理解できません。bonbo さんが書きました:>なるほど、あと2バイトずつ表示するように工夫すれば…と思ったのですが
これでは1文字(たとえば"いただきます"の"き"だけ)を表示させることはできないのではないでしょうか…
へんな解釈をしていたらごめんなさい…
non
-
bonbo
Re: 配列に文字を1字ずつ代入する
>nonさん
ありがとうございます。
>これでは1文字(たとえば"いただきます"の"き"だけ)を表示させることはできないのではないでしょうか…
つまり
みけCATさんのおっしゃる通りに
とすると、strncpyを使って別の配列に中身を渡すことができるが、
それでは、"いただきます" や ""いただ" などは表示できても "だき" や "ます" は表示できないのではないか。ということです。
ありがとうございます。
>これでは1文字(たとえば"いただきます"の"き"だけ)を表示させることはできないのではないでしょうか…
つまり
みけCATさんのおっしゃる通りに
char text[100][100];
char Message[2][100];
strcpy(Message[0],"おいしそう");
strcpy(Message[1],"いただきます");
strncpy(text,Message[0],3);
それでは、"いただきます" や ""いただ" などは表示できても "だき" や "ます" は表示できないのではないか。ということです。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: 配列に文字を1字ずつ代入する
文字列は文字の配列ですから配列から添字で1文字づつ取り出すことはできます。
ただし漢字コードは2文字分で1文字を構成するので取り扱いに注意が必要ですって事ですね。
極端な例です。
ただし漢字コードは2文字分で1文字を構成するので取り扱いに注意が必要ですって事ですね。
極端な例です。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。