
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#
-
5
C言語 配列の長さの上限
C言語・C++・C#
-
6
間接参照のレベルが異なっています
C言語・C++・C#
-
7
改行を読み飛ばす
C言語・C++・C#
-
8
複数ファイルの同時読み込みの方法と脱初心者向け参考書
C言語・C++・C#
-
9
Enterキーを押されたら次の処理に移るという事をしたい。
C言語・C++・C#
-
10
ファイルの特定行の抽出
C言語・C++・C#
-
11
fopenでのパス指定
C言語・C++・C#
-
12
ファイル書込みで一行もしくは部分的に上書きする
PHP
-
13
C言語・要素除去
C言語・C++・C#
-
14
C言語で複数列のデータを1列のみ読み込みたい
C言語・C++・C#
-
15
バッファとは何ですか
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【Access2003】VBAでタブ区切り...
-
バッチファイルの作り方(CSV→...
-
空白文字 \\f と\\v の違いに...
-
【エクセル】改行無しテキスト...
-
重複するデータを抽出できる秀...
-
エクセルVBA コードが同じでも...
-
Windowsで複数のファイルを同じ...
-
MATLAB グローバル変数の宣言
-
ReadLineでの読み出し行を指定する
-
awkスクリプトでダブルクォーテ...
-
VBAでCSVファイルを途中行まで...
-
fgets で値が取得できない
-
vba dir の相対パス
-
FindFirstFileとFindNextFileで...
-
行を指定して削除する方法PERL
-
sprintfについて
-
MATLABでのwhile文の条件について
-
Fortranで1行飛ばして読み込む方法
-
パスから最後のディレクトリだ...
-
Perlで特定文字列から特定文字...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチファイルの作り方(CSV→...
-
C言語で特定の行を抽出する方法...
-
空白文字 \\f と\\v の違いに...
-
全角と半角文字が混在している...
-
Edge スクレイピング
-
【Access2003】VBAでタブ区切り...
-
【エクセル】改行無しテキスト...
-
VBAでタブ区切りテキストの保存...
-
\\tはどんなときに使うのでしょ...
-
タブコントロールに付いて
-
Javaのコーディングスタイル
-
エクセルのデータをテキストデ...
-
タブの色を変更する方法
-
デルファイ TabControl タブの...
-
エクセル→XML 要素のコピー
-
掲示板の過去ログDLについて
-
Access2007のADOの使い方が分か...
-
AccessからExcelをタブ指定で開...
-
Excelのマクロで改行を含んだテ...
-
テキストファイル(tsv)を改行...
おすすめ情報