60428


複数行の文字列があり、文の最後に ; がつくテキストファイルがあります。  
例

[code]

    あいうえお;
    いろはにほへ
    とちりぬるを;
    12345;
    
[/code]

このファイルを `;` ごとに配列に格納したいのですが、格納のやり方がわかりません。  
この場合どのように配列を定義しコードを書けばよいでしょうか  
このコードはどのようになるのか教えていただきたいです。


CC BY-SA 4.0
2019-11-11T03:23:13.203
60403
2019-11-12T01:28:53.803
2019-11-11T04:10:02.350
32986
36559
question
c array
ｃ言語の配列格納について質問です


質問者さんの知識・経験・ノウハウ等が不明なので、質問の配列に関することに集中しておきます。  
ソースコードは提示しません。以下の様な情報とキーワードで、後は自分で検索できるでしょう。

コメントに書かれたように、色々と必要な情報はありますが、  
必要な配列のイメージとしては、以下の様なものがあります。

[code]

    テキストファイルデータを読み込むバッファ(charかBYTEの配列)
      別途データを解析するためのバッファを配列で持つか、上記で兼用する
    
                                        ↓この部分はポインタ配列
    文字へのポインタへのポインタ(**) -> 文字へのポインタ(*) -> NULL終端の文字配列(char[])
                                        文字へのポインタ(*) -> NULL終端の文字配列(char[])
                                        文字へのポインタ(*) -> NULL終端の文字配列(char[])
                                        文字へのポインタ(*) -> NULL終端の文字配列(char[])
                                        文字へのポインタ(*) -> NULL終端の文字配列(char[])
                                        文字へのポインタ(*) -> NULL終端の文字配列(char[])
                                        ...
    
[/code]

この記事が図もあって分かりやすいでしょう。  
[4.3 ポインタ配列 | C言語](http://cai.cs.shinshu-u.ac.jp/sugsi/Lecture/c/e_04-03.html)

それぞれの配列は動的に確保する必要があるので、以下を参考に必要な情報を検索しましょう。  
[1.動的メモリ確保の方法とmalloc関数 |
C言語](http://cai.cs.shinshu-u.ac.jp/sugsi/Lecture/c/e_04-02-01.html)  
[C言語で２次元配列(文字列)の動的確保](https://fa11enprince.hatenablog.com/entry/2013/09/02/010202)

体系的には同じサイトの目次からたどる一連の記事を見ていくのが良いかもしれませんね。  
[目次 | C言語](http://cai.cs.shinshu-u.ac.jp/sugsi/Lecture/c/e_top.html)

> 第3章 ポインタ1  
>  第4章 ポインタ2  
>  第5章 ポインタ3

[第4章 ポインタ2 | C言語](http://cai.cs.shinshu-u.ac.jp/sugsi/Lecture/c/e_04.html)

> 4.1 文字列とポインタ  
>  1.文字列とアドレスの関係  
>  2.ポインタを使った文字列操作  
>  3.文字列定数と文字列の初期宣言
>
> 4.2 動的メモリ確保と強制型変換  
>  1.動的メモリ確保の方法とmalloc関数  
>  2.強制型変換
>
> 4.3 ポインタ配列 <<== このページが上記で最初に紹介したもの
>
> 4.4 多次元配列  
>  1.２次元配列  
>  2.配列の初期化  
>  3.３次元配列  
>  4.メモリ上での配列要素の配置  
>  5.２次元配列とポインタ配列の比較


CC BY-SA 4.0
2019-11-12T01:21:27.463
60428
2019-11-12T01:28:53.803
2019-11-12T01:28:53.803
26370
26370
60403
answer