- ベストアンサー
配列のことでなのですが
配列で先頭から順番に文字列を格納していきたいのですがどのような方法があるでしょうか? ただforループなどで順番に繰り返すのではなくて、文字列を入力する度に配列の最後尾に文字列を格納していきたいのですが、 例えば for(i=0;i<=10;i++){ scanf("%s",hairetu[i]) } のような方法ではなく配列の中に文字列を前から順番に格納したいです。 詳しい方は知識をかしていただけるとありがたいです。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
>私が作ったものだと、書き込みをするたびにファイルがすべて上書きされてしまう そのコードを見せてください。 ファイルのオープンモードが、追加書込み用の"a"ではなくて 新規書込み用の"w"になっているだけ、 という話ではないのですか?
その他の回答 (3)
- tatsu99
- ベストアンサー率52% (391/751)
うーん。何をなさろうとしているのが、読みとれないですねー。 >今作ろうとしているものは、テキストファイルを読み込み、文字列を書き込みをしていくというものなのですが、 文字列をどこに書くのですか? テキストファイルが以下のような内容だとすると、 ------------------ abcd改行 efgh改行 ------------------ 結果は、どこに、どのような内容が、書かれればよいのですか?
補足
すいません。 2次配列を用いて配列の番号と文字列をテキストに書き込みたいのですが、内容はプログラム終了時に、新しくできた文字列のリストを、読み出したファイルと同名のファイル(list.txt)に書き込む。なお、文字列のリストのファイルは、1行で1つの文字列として出力したいです。 画面の出力の結果は *************** No. 1: programming No. 2: exercise No. 3: information (省略) No. 19: science No. 20: function *************** のような感じにしたいのですが説明がわかりにくくてすいません。
- asuncion
- ベストアンサー率33% (2127/6289)
"abc" "def" "ghi" と3回入力したら、 "abcdefghi" という結果を得たい、ということでしょうか? だとすれば、strcat()という標準関数を調べてみるとよいかもしれません。 別の話でしたら、もう少し詳しい説明をお願いします。
補足
今作ろうとしているものは、テキストファイルを読み込み、文字列を書き込みをしていくというものなのですが、私が作ったものだと、書き込みをするたびにファイルがすべて上書きされてしまうため、質問させていただきました。
- SAYKA
- ベストアンサー率34% (944/2776)
格納する配列と質問文みたいに繰返し中でscanfに使われる配列を別々に用意すればできるんじゃない?
お礼
モードが追加書き込みになっていませんでした。 親切にコメントありがとうございました!