掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
読み込んだテキストファイルの配列化するには? (ID:52642)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
なーめさん、レス遅くなってすいません。 自力でやろうとしてたもんで、しばらくここをチェックしていませんでした。 >char * g_arszText[] = >{ > "一郎「明日は雨だ。」", > "次郎「なんでわかる。」", > .... >}; 実は最初にこの方法を使っていたのですが、あるサイトで「ソース内にこのように記述するのはいかにもバカっぽいので〜」の記述を見かけて、なんとかテキストから読み込もうとしていたのですが、背伸びしてもうまくいかないみたいです。 今、アドバイスを参考にして別のやり方に挑戦しています。 data.txt内で >一郎「明日は雨だ。,間違いない!」 >次郎「なんでわかる。」 >一郎「さぁ?」 >次郎「いいかげんな奴だな。」 と記述し、 char moji[1024]; char **text; の変数を用意し、 text=new char*[line]; //lineは、data.txt内の記述行数 text=new char[1024]; でメモリを確保します。 そして、 FILE* fp; char* token; int c=0; if (!(fp=fopen("data.txt","r"))) //オープン return FALSE; while (fgets(moji,1024,fp)) { //読み込み //テキストの再編 token = strtok(moji,","); while (token!=NULL) { strcat(text[c],token); token = strtok(NULL,","); if (token==NULL) break; strcat(text[c],"\n"); } c++; } fclose(fp); //クローズ return TRUE; として、mojiにテキストをひとまず格納した文字列を ","の部分で改行させて、実際の表示のために用意した**textに 入れようとしています。 これで、上手く表示されている時は、 >一郎「明日は雨だ。 >間違いない!」 と、text[0]には、data.txtの","部できちんと改行されて格納されますが、行数(テキスト)が進むにつれ、途中で余計な文字が表示されたり、前のテキストの文字が一部分表示されてしまいます。 努力してみたんですが、根本的にこのやり方自体がいただけないんでしょうか? ちなみに、自然言語です。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.