トップページ > 過去ログ > 記事閲覧
二次元文字配列の扱い方
名前:おやしろ 日時: 2008/10/17 02:50

char Text[120][3]={"ab","bc","cd"}; としてあるものを、処理の途中で3つとも空白("")にしたいのですが、 Text={"","",""}; とやっても構文エラーと言われてしまいます どのように記述すれば出来ますか?

Page: 1 |

Re: 二次元文字配列の扱い方 ( No.1 )
名前:おやしろ 日時:2008/10/17 02:54

すみません char Text[120][3]={"ab","bc","cd"}; ではなく char Text[3][120]={"ab","bc","cd"}; のミスです
Re: 二次元文字配列の扱い方 ( No.2 )
名前:Will 日時:2008/10/17 09:52

以下のように一個ずつするか Text[0][0] = '\0'; Text[1][0] = '\0'; Text[2][0] = '\0'; memsetを使用するかどちらかです。 memset(Text, 0, sizeof(Text));
Re: 二次元文字配列の扱い方 ( No.3 )
名前:koga2020 日時:2008/10/17 09:54

定義時に以下のように記述することが可能です。   char Text[3][120]={"ab","bc","cd"}; ですが、その後の代入に、上記のような構文は使用できません。 ではどのようにするか、といいますと   sprintf( Text[0], "AABB" );   Text[1][0] = "e";   Text[1][1] = "f";   Text[1][2] = null; のように、配列1つずつに対しての代入操作を行う方法になります。 複数ある場合は、for文を利用してループで必要な回数・添え字にて代入操作を行います。
Re: 二次元文字配列の扱い方 ( No.4 )
名前:Will 日時:2008/10/17 10:06

>  Text[1][0] = "e"; >  Text[1][1] = "f"; 凡ミスかと思いますが、ダブルコーテーションで囲むと「文字列」になりますからcharには入れられないです。 Text[1][0] = 'e'; Text[1][1] = 'f';
Re: 二次元文字配列の扱い方 ( No.5 )
名前:koga2020 日時:2008/10/17 16:13

>凡ミス すみません。 ご指摘ありがとうございます。
Re: 二次元文字配列の扱い方 ( No.6 )
名前:おやしろ 日時:2008/10/18 09:30

返信が送れて申し訳ないです forを使うやり方が一番合うみたいなので その方法使わせていただくことにしました ありがとうございました

Page: 1 |