
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
取り出すってどういう意味でしょう?プログラム内部で格納するっていう意味でしょうか?それとも単純に画面出力するだけ?また、それはC言語で作らなくてはいけないものでしょうか?
世の中にはいろいろなツールがあって、行を取り出すことを難なくやってくれるものがたくさんありますが、C言語で「1行を読む」って実は意外と難しいのです。データファイルには、「行」という概念でデータが格納されているのではなく、連続したデータの中で「改行文字」を区切りとして、この改行文字が現れるところまでを1行としましょう、という約束に従っているだけなのです。通常、改行文字は「\n」1文字、もしくは「\r\n」という文字列のいずれかです。C言語用の標準関数でも、行を取り出すfgets()というものが用意されていますが、1行の長さが不明(ある行は10文字かもしれないけど、100万文字の行があるかもしれない)だと、この関数も工夫して使わなくてはいけなくなります。理由は、一度にファイルから読む文字数は有限(よほどでかすぎない限り自分で決められます)だからで、一度に読めたデータの中に改行文字が含まれなければ、その行の続きをもう一度読んで、前のデータとくっつける、みたいなことをしなくてはいけないからです。
で、単純に、たとえば1行はN文字を超えることはないということが分かっていて、ただ画面に出力するだけでいい、ってことでしたら、サイズNのchar型の配列を作り、この配列を利用して、No.1の方のご回答にある「1行読む→1行出力」の部分を、fgets()とprintf()を使って比較的簡単に作ることができると思います。
No.1
- 回答日時:
while(EOFになるまで) {
for(9回) { 1行読む→何もしない}
for(225-9回) { 1行読む→一行出力 }
}
とりあえずのエラー処理とかを考えなければ、上記の考えでできます。
Linuxが使えるのなら
https://linuxjm.osdn.jp/html/GNU_textutils/man1/ …
で225行で分割して、その分割されたファイルを
https://linuxjm.osdn.jp/html/gnumaniak/man1/tail …
や
https://linuxjm.osdn.jp/html/GNU_sed/man1/sed.1. …
で10行目以降だけ出力、というのが、プログラム不要です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
C言語で特定列だけを抽出して配列に格納し、出力したいです。 読み込みファイル(read.txt) 0
C言語・C++・C#
-
特定の文字列が一致する行から、文字列を抽出する方法
C言語・C++・C#
-
C言語 ファイルの指定された行を表示
C言語・C++・C#
-
-
4
間接参照のレベルが異なっています
C言語・C++・C#
-
5
C言語 配列の長さの上限
C言語・C++・C#
-
6
バッファとは何ですか
C言語・C++・C#
-
7
文字列の切り出し
C言語・C++・C#
-
8
fopenで別ディレクトリにファイルをオープンしたい
C言語・C++・C#
-
9
改行を読み飛ばす
C言語・C++・C#
-
10
Enterキーを押されたら次の処理に移るという事をしたい。
C言語・C++・C#
-
11
複数ファイルの同時読み込みの方法と脱初心者向け参考書
C言語・C++・C#
-
12
文字列から空白を取り除きたいのですが
C言語・C++・C#
-
13
テキストファイルの行数を取得する方法(C言語
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
全角と半角文字が混在している...
-
ExcelをCSV書き出す場合のシー...
-
Windowsで複数のファイルを同じ...
-
重複するデータを抽出できる秀...
-
データファイルをプロットする(...
-
awkスクリプトでダブルクォーテ...
-
CGI(Perl)でWeb上から作成...
-
perlのgrepで要素を返す値がお...
-
VBAでCSVファイルを途中行まで...
-
dos変数の%~dp0は powershellで...
-
Perlで特定行から特定行までを...
-
does not map to shiftjis は解...
-
サーバーにある特定の拡張子フ...
-
ファイルの存在の有無を確かめ...
-
readdir()で得られるファイル・...
-
close()で例外が投げられる理由
-
Excelファイルのデータを入力し...
-
IEだとCGIが正しく動作しないこ...
-
openした後、closeしないでプロ...
-
sprintfについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語で特定の行を抽出する方法...
-
バッチファイルの作り方(CSV→...
-
Edge スクレイピング
-
【エクセル】改行無しテキスト...
-
空白文字 \\f と\\v の違いに...
-
全角と半角文字が混在している...
-
VBAのFileFormatで悩んでいるこ...
-
【Access2003】VBAでタブ区切り...
-
デルファイ TabControl タブの...
-
タブの色を変更する方法
-
タブコントロールに付いて
-
エクセル→XML 要素のコピー
-
VBAでタブ区切りテキストの保存...
-
htaccessで特定のディレクトリ...
-
VB6でのデータの編集(ファイル...
-
エクセルVBA コードが同じでも...
-
Windowsで複数のファイルを同じ...
-
batファイルでrenameができませ...
-
VBAでCSVファイルを途中行まで...
-
MATLAB グローバル変数の宣言
おすすめ情報