• 締切済み

テキストファイルを配列に

vipasigaruの回答

回答No.3

文字列の扱い方はわかりますか? C言語では、文字列は「char型の配列」で実現します。 ですので、例の場合は、たとえば一次元配列 char a[64]; の配列に入れることができるのは、 12 の一行分のデータだけです。 ですので、普通は「複数行の文字列」は、二次元配列で実現します。 char b[1024][64]; について、一行ずつつめていきます。 次に、ファイルアクセスの方法はわかりますか? たとえば、fopenでファイルを開き、fgetsで一行読み込みを行います。 あとは、上記の単語で検索をかければ、大体使い方がわかるはずです。 ってことで、、 int i; FILE fp = fopen("読み込むファイル名", "r"); for(i = 0; fgets(b[i], sizeof(b[i]), fp); i++); fclose(fp); のような感じで、読み込むことができるんじゃないでしょうか

関連するQ&A

  • C++で、テキストファイルを一行ずつ読み込んで配列に入れたいのですが、

    C++で、テキストファイルを一行ずつ読み込んで配列に入れたいのですが、うまくできません! テキストには -3.0        1.0        2.0 ・・・などのように一行に一つの数値が入って縦に並んでいます。 それをひとつずつ読み込み、新しい配列(たとえばa[])に順番にいれたいのです。 a[1]=-3.0,a[2]=1.0、・・・と なるように。 どうか、この初心者にご指導お願いいたします。

  • 【csh】ファイルの中の値を配列変数として取得するには?

    環境はHP-UX11です。 ファイルを読み込ませて、そのファイルの中身の一行を配列のひとつとして変数に代入するにはどうしたらよいのでしょうか? 例えばファイルの中身が $DIR1/$FILE1 $DIR1/$FILE2 $DIR2/$FILE3 だったとして、この3行を配列として読み込ませたいのですが、cshで可能なんでしょうか? よろしくお願いします。

  • C#のテキストファイル読み込みについて

    C#のテキストファイル読み込みについて 2次元配列を使います(a[行][列]みたいに テキストファイルを1文字ずつ読み込みます。 そして、改行文字が見つかると行を1つずらします それを繰り返して最後まで読みこむと終わり そんなことをしたいです DOBON.NETでこんなの見つけたんですが 上の処理をしようと思っても、どこをいじればできるのかわかりませんでした //"C:\test.txt"をShift-JISコードとして開く System.IO.StreamReader sr = new System.IO.StreamReader( @"C:\test.txt", System.Text.Encoding.GetEncoding("shift_jis")); //内容を一行ずつ読み込む while (sr.Peek() > -1) { Console.WriteLine(sr.ReadLine()); } //閉じる sr.Close(); よくわかるサイトとかあったら教えてください、お願いします

  • C言語のテキストファイルの読込み

    必要に迫られてC言語でテキストファイルの読込みを行う プログラムを作成しなければならなくなりました。 whileとfscanfを用いて書式を指定して一行ずつ読込むことができる ということは知っていますが、その際、たとえば読み込むファイルが 20行のテキストファイルだったとして、10行目から読込みを 行いたい場合はどのようにプログラムを書けばいいのでしょうか? なにぶんC言語初心者ですのでよろしくお願いします。

  • テキストファイルを二次元配列に

    お世話になります。 テキストファイルを1行ずつ読み込んで二次元配列に格納するプログラムですが、 //最大行数 #define LINE_MAX 10 //行内最大文字数 #define INPUT_MAX 128 char str[LINE_MAX][INPUT_MAX]; というようにして実現しています。 これを行数が分からないテキストファイルでも大丈夫なようメモリを動的に確保したいと考えています。 二つの次元の内、一つを動的に確保するにはどのようにしたら良いでしょうか。

  • C言語 テキストファイルの文字列を配列に代入したい

    aaa.txt というテキストファイルがあり、その中身が 8 5 21 13 であるとします(1行のみ)。 main関数内で宣言した整数の配列、 int A[10]; に対して、 A[0]=8 A[1]=5 A[2]=21 A[3]=13 のように代入したいのですが、どのファイルポインタの関数を使ってどのように書けばいいのかわかりません。 ご教授お願いします。

  • 二次元配列について

    C#を使っています。 エクセルのデータを、カンマ区切り(CSV)にして保存しました。 そのデータをそのまま二次元配列に代入していきたいのですが、うまくできません(><) データの一行目しか代入しなかったりします。。二行目にうつってくれません。まだまだ初心者なのですが、どうか教えてください(><)

  • C言語での、テキストファイル読み込みについて

    30行×30列の数字が記載されてテキストファイルがあり、 それをC言語で例えばA[ ][ ]といった配列に読み込みたいのですが、 どうすればよいでしょうか? fscanf関数を用いればできないことはないと思うのですが、 30個も書かなければならないのは冗長なので・・・。 なにかよい方法はありますでしょうか?

  • 配列の使い方について

    二つ教えてください。 1.二次元配列で例えばファイルの一行目をグループ[1]に、二行目はグループ[2]に、三行目はグループ[1]に、四行目はグループ[3]に、みたいな感じでファイルの値を任意のグループ[n]に代入していきグループ分けする方法を教えてください。 2.上のような方法で作った配列を例えばグループ[2]にグループ[5]の要素をすべてつけたし、グループ[5]は削除する方法を教えてください。

  • Visual C++を 用いたテキストファイル読み込み(応用)

    Microsoft Visual C++ 2008 Express Editionを使っています。 テキストファイルは 約5000行×6列の数値(のみ)になっております。(列間にスペースあり) いくつかある5000×6行テキストファイルの中から、ファイル名を入力することで任意のテキストファイルにアクセスし、さらに6列のデータをそれぞれ別の配列に格納するコンソールプログラムを考えていますが行き詰まっています。例えば、1列目を配列1、2列目を配列2、・・・といった具合です。 詳しい方、どうかよろしくお願いいたします。