
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で質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語初心者 構造体 課題について 1 2023/03/10 19:30
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- その他(プログラミング・Web制作) プログラミング Python 1 2022/09/28 05:02
- Excel(エクセル) マクロか関数で処理したいのですが、教えて頂けませんか。 8 2022/10/31 15:18
- その他(Microsoft Office) マクロVBAについて 1 2022/09/06 18:12
- Excel(エクセル) エクセル 任意の列数で分割する方法 3 2022/07/31 14:58
- Windows 10 Windows10の回復環境 2 2023/02/03 19:13
- Excel(エクセル) Excelの関数でこんな処理ができますか 1 2023/02/08 13:46
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- その他(プログラミング・Web制作) Windowsのマクロプログラムで、こんなことできますか? 3 2022/06/28 14:30
このQ&Aを見た人はこんなQ&Aも見ています
-
C言語で特定列だけを抽出して配列に格納し、出力したいです。 読み込みファイル(read.txt) 0
C言語・C++・C#
-
特定の文字列が一致する行から、文字列を抽出する方法
C言語・C++・C#
-
C言語 ファイルの指定された行を表示
C言語・C++・C#
-
-
4
C言語 配列の長さの上限
C言語・C++・C#
-
5
文字列の切り出し
C言語・C++・C#
-
6
Enterキーを押されたら次の処理に移るという事をしたい。
C言語・C++・C#
-
7
改行を読み飛ばす
C言語・C++・C#
-
8
C言語で複数列のデータを1列のみ読み込みたい
C言語・C++・C#
-
9
ファイルから読み込んだデータを構造体に格納できますか?
C言語・C++・C#
-
10
間接参照のレベルが異なっています
C言語・C++・C#
-
11
C言語 空白の行(改行のみ)が入力されたらプログラムを終了する処理
C言語・C++・C#
-
12
数字以外が入力されたらエラー文を出したい。
C言語・C++・C#
-
13
複数ファイルの同時読み込みの方法と脱初心者向け参考書
C言語・C++・C#
-
14
ファイルの特定行の抽出
C言語・C++・C#
-
15
fopenでのパス指定
C言語・C++・C#
-
16
ファイルから読み取った改行文字を消す方法
C言語・C++・C#
-
17
ファイル書込みで一行もしくは部分的に上書きする
PHP
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語で特定の行を抽出する方法...
-
Access2007のADOの使い方が分か...
-
【エクセル】改行無しテキスト...
-
タブの色を変更する方法
-
空白文字 \\f と\\v の違いに...
-
バッチファイルの作り方(CSV→...
-
配列内変数の初期化・・・
-
デルファイ TabControl タブの...
-
PHPのfgetcsvのデリミタについて
-
close()で例外が投げられる理由
-
batファイルでrenameができませ...
-
エクセルVBA コードが同じでも...
-
VBAでCSVファイルを途中行まで...
-
Perlの変数に文字数制限(容量...
-
MATLAB グローバル変数の宣言
-
Windowsで複数のファイルを同じ...
-
ファイル名と更新日付の取得に...
-
ファイルのロックについて
-
該当者データがない場合の処理
-
書き込み時に勝手にクリアさせ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Edge スクレイピング
-
【エクセル】改行無しテキスト...
-
バッチファイルの作り方(CSV→...
-
C言語で特定の行を抽出する方法...
-
空白文字 \\f と\\v の違いに...
-
タブの色を変更する方法
-
VBAでタブ区切りテキストの保存...
-
タブコントロールに付いて
-
全角と半角文字が混在している...
-
【Access2003】VBAでタブ区切り...
-
VB6でのデータの編集(ファイル...
-
掲示板の過去ログDLについて
-
VBAのFileFormatで悩んでいるこ...
-
テキストファイル(tsv)を改行...
-
デルファイ TabControl タブの...
-
Excelのマクロで改行を含んだテ...
-
Javaのコーディングスタイル
-
htaccessで特定のディレクトリ...
-
エクセルVBA コードが同じでも...
-
VBAでCSVファイルを途中行まで...
おすすめ情報