1時間ごとに更新!Amazon.co.jpで今売れている本トップ100   掲示板ランキング



掲示板利用宣言

 次のフォームをすべてチェックしてからご利用ください。

 私は

 題名と投稿者名は具体的に書きます。
 課題の丸投げはしません。
 ソースの添付は「HTML変換ツール」で字下げします。
 返信の引用は最小限にします。
 環境(OSとコンパイラ)や症状は具体的に詳しく書きます。
 返信の付いた投稿は削除しません。
 マルチポスト(多重投稿)はしません。

掲示板1

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    記事検索    ログ    タグ一覧

No.6011

特定の文字列を抽出
投稿者---エル(2006/07/03 03:46:02)


初投稿させていただきます。
C言語初心者なので雑かもしれませんが
ご指導のほどどうかお願いします。

今作りたいプログラムで
テキストファイルを読みこみ、その特定の行のみを読み込むプログラムを
作りたいのですが、文字を含む行を読み込むなどはできるのですが特定の行のみ(7行目なら7行目のみ)
を読み込むプログラムがわからず困ってます。
ご指導のほど宜しくお願いします。


この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:特定の文字列を抽出 6012 επιστημη 2006/07/03 04:35:28
<子記事> Re:特定の文字列を抽出 6013 asd 2006/07/03 09:31:22


No.6012

Re:特定の文字列を抽出
投稿者---επιστημη(2006/07/03 04:35:28)


> 特定の行のみ(7行目なら7行目のみ)を読み込むプログラムがわからず困ってます。

6行分"空読み"する。




この投稿にコメントする

削除パスワード

No.6015

Re:特定の文字列を抽出
投稿者---エル(2006/07/03 11:00:52)


>> 特定の行のみ(7行目なら7行目のみ)を読み込むプログラムがわからず困ってます。
>
>6行分"空読み"する。
>

返信ありがとうございます。
その空読みをどのような風にすればぃぃのかわからず困ってます。
知識が足らず、参考書を読んでもfscanf,fgetcを用いて一文字ずつ
最後まで読み込み、表示させるぐらいしかわからず・・・・

たとえば
char filename[256];
int c;
とした場合
while (fscanf(fp, "%c", &c) != EOF)
printf("%c", c)
だとそのテキストファイルの中を読み込めたのですが
これだけだとテキストファイルの全てを抜き出してしまいます。
ですから条件これにもぅ少し条件をつけたいのですが
6行空読みにするプログラムがわかりません。


この投稿にコメントする

削除パスワード

No.6016

Re:特定の文字列を抽出
投稿者---Blue(2006/07/03 11:04:38)


行単位で読み込むのに便利な fgets という関数があります。

もちろんfscanf,fgetcでもできないことはないですけど。


この投稿にコメントする

削除パスワード

No.6018

Re:特定の文字列を抽出
投稿者---REE(2006/07/03 11:29:07)


>その空読みをどのような風にすればぃぃのかわからず困ってます。
>知識が足らず、参考書を読んでもfscanf,fgetcを用いて一文字ずつ
>最後まで読み込み、表示させるぐらいしかわからず・・・・

まず、読みながら行数を数えます。
そして、必要のない部分は、表示させなければよいのです。
読み込んだものは必ず表示させなければいけないということはありません。



この投稿にコメントする

削除パスワード

No.6020

Re:特定の文字列を抽出
投稿者---とろり(2006/07/03 11:54:38)


こんにちは。

>6行空読みにするプログラムがわかりません。

1行の最大行数が決まっていてば、↓のような感じでできるとおもいますが、
決まっていない場合は読込み文字列サイズをチェックしたり、改行のチェックが必要になります。

i = 0;
while (NULL != fgets(buf, sizeof(buf), fp)) {
  i++;
  if (i == 7) {
    break;
  }
}


この投稿にコメントする

削除パスワード

No.6033

Re:特定の文字列を抽出
投稿者---エル(2006/07/03 21:30:03)


>こんにちは。
>
>>6行空読みにするプログラムがわかりません。
>
>1行の最大行数が決まっていてば、↓のような感じでできるとおもいますが、
>決まっていない場合は読込み文字列サイズをチェックしたり、改行のチェックが必要になります。
>
>i = 0;
>while (NULL != fgets(buf, sizeof(buf), fp)) {
>  i++;
>  if (i == 7) {
>    break;
>  }
>}

ありがとうございました。
参考にもぅ少し勉強してみます。


この投稿にコメントする

削除パスワード

No.6013

Re:特定の文字列を抽出
投稿者---asd(2006/07/03 09:31:22)


>作りたいのですが、文字を含む行を読み込むなどはできるのですが特定の行のみ(7行目なら7行目のみ)
>を読み込むプログラムがわからず困ってます。

#επιστημηさんと同じ回答ですが

1行読み込みはできているみたいですから、特定の行数番目に読み込んだデータを抜き出せばいいかと思います。
(例:7行目を抜き出すなら1行読み込み処理を7回行ったときのデータを抜き出す)


この投稿にコメントする

削除パスワード

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    記事検索    ログ    タグ一覧





掲示板提供:(有)リアル・インテグリティ