• 締切済み

C言語について質問です。教えてください。

C言語について質問です、教えてください。 以下のようなテキストファイルがあるとします。 apple,111 orange,222 grape,333 lemon,444 banana,555 一行ずつorange というものがあるかないかを探して、 なければ次の行を検索、 あれば、その該当行のカンマで区切った二つ目のデータ(ここでいう222)を とってきて、break処理 どのようにくめばいいでしょうか>< 誰か教えてください。 よろしくお願いいたします。

みんなの回答

  • nda23
  • ベストアンサー率54% (777/1415)
回答No.2

次の機能をC言語で表現できますか? (1)ファイルをテキストモーで開く。 (2)開けなかった場合の判断と、その時の対処 (3)ファイルから1行(改行まで)を読み込む。 (4)読み込めない場合の判断と、その時の対処 (5)文字列(読み込んだデータ)から特定の文字(",")を探す。 (6)文字列同士の比較 (7)文字列(メモリの特定範囲)のコピー (8)ファイルを閉じる。 ファイルのパス名の受け取り、「とってきたデータ」の返し方に 注意すれば、あとは質問者さんの書いたシナリオ通りに記述すれば だいたい希望するものが得られると思います。

全文を見る
すると、全ての回答が全文表示されます。
  • Trick--o--
  • ベストアンサー率20% (413/2034)
回答No.1

一行ずつorange というものがあるかないかを探して、 なければ次の行を検索、 あれば、その該当行のカンマで区切った二つ目のデータ(ここでいう222)を とってきて、break処理 これをそのままC言語に「翻訳」すればいい。 もうちょっとプログラムらしい手順にそって書くとこんな漢字。  1行読み込む。EOFならループを抜ける  ,の前後で分割する  分割した1番目のものが「orange」か調べる   「orange」なら2番目のものを取得してbreak  ループする

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • C言語のテキストファイルの読込み

    必要に迫られてC言語でテキストファイルの読込みを行う プログラムを作成しなければならなくなりました。 whileとfscanfを用いて書式を指定して一行ずつ読込むことができる ということは知っていますが、その際、たとえば読み込むファイルが 20行のテキストファイルだったとして、10行目から読込みを 行いたい場合はどのようにプログラムを書けばいいのでしょうか? なにぶんC言語初心者ですのでよろしくお願いします。

  • ラジオボタンによる内容の振り分け

    お世話になります。 他の方が作ったファイルを修正しないといけなくなり、本当に悩んでます…。お願いします。教えてください。 ラジオボタンによるフォームの振り分けをさせたいと思っています。 [HTMLファイル(fruit.html)] まずラジオボタンが以下のようになっています。 <input name="種類" type="radio" value="アップル" onclick="jobShow('apple');jobHide('banana');jobHide('peach');jobHide('berry');jobHide('grape');jobHide('lemon');jobHide('melon');jobHide('orange');" id="item1" checked="checked" />アップル <input name="種類" type="radio" value="バナナ" onclick="jobHide('apple');jobShow('banana');jobHide('peach');jobHide('berry');jobHide('grape');jobHide('lemon');jobHide('melon');jobHide('orange');" id="item2" />バナナ <input name="種類" type="radio" value="ピーチ" onclick="jobHide('apple');jobHide('banana');jobShow('peach');jobHide('berry');jobHide('grape');jobHide('lemon');jobHide('melon');jobHide('orange');" id="item3" />ピーチ <input name="種類" type="radio" value="ベリー" onclick="jobHide('apple');jobHide('banana');jobHide('peach');jobShow('berry');jobHide('grape');jobHide('lemon');jobHide('melon');jobHide('orange');" id="item4" />ベリー <input name="種類" type="radio" value="グレープ" onclick="jobHide('apple');jobHide('banana');jobHide('peach');jobHide('berry');jobShow('grape');jobHide('lemon');jobHide('melon');jobHide('orange');" id="item5" />グレープ <input name="種類" type="radio" value="レモン" onclick="jobHide('apple');jobHide('banana');jobHide('peach');jobHide('berry');jobHide('grape');jobShow('lemon');jobHide('melon');jobHide('orange');" id="item6" />レモン <input name="種類" type="radio" value="メロン" onclick="jobHide('apple');jobHide('banana');jobHide('peach');jobHide('berry');jobHide('grape');jobHide('lemon');jobShow('melon');jobHide('orange');" id="item7" />メロン <input name="種類" type="radio" value="オレンジ" onclick="jobHide('apple');jobHide('banana');jobHide('peach');jobHide('berry');jobHide('grape');jobHide('lemon');jobHide('melon');jobShow('orange');" id="item8" />オレンジ そしてその下にそれぞれの項目のフォームがすべて並べてあります。 <h4>アップル</h4> <table width="576" border="0" cellspacing="1" cellpadding="0" class="common-table"> <tr> <th width="20%">商品名</th> <td><select name="商品名1" id="apple1"> <option value="">商品をお選びください</option> <option value="アップル1">アップル1</option> <option value="アップル2">アップル2</option> </select></td> </tr> <tr> <th>個数</th> <td><input name="個数1" type="text" size="5" id="apple2" />個</td> </tr> </table> </div> <div id="banana"> <h4>バナナ</h4> <table width="576" border="0" cellspacing="1" cellpadding="0" class="common-table"> <tr> <th width="20%">商品名</th> <td><select name="商品名1" id="banana1"> <option value="">商品をお選びください</option> <option value="バナナ1">バナナ1</option> </select></td> </tr> <tr> <th>個数</th> <td><input name="個数1" type="text" size="5" id="banana2" />個</td> </tr> </table> ・・・(オレンジまで続く) [javascriptファイル] window.onload=check; function check() { if(document.estimate.item1.checked) { jobShow('apple'); jobHide('banana'); jobHide('peach'); jobHide('berry'); jobHide('grape'); jobHide('lemon'); jobHide('melon'); jobHide('orange'); } if(document.estimate.item2.checked) { jobHide('apple'); jobShow('banana'); jobHide('peach'); jobHide('berry'); jobHide('grape'); jobHide('lemon'); jobHide('melon'); jobHide('orange'); } ・・・(item8まで続く) } こんな感じです。説明不足なのかもしれませんが、文字制限があるので全部かけそうにありません>< もしこの説明で分かる方いらっしゃいましたら、教えてください。 宜しくお願いします。

  • C言語のプログラムについて質問です。

    C言語初心者で困っています。 テキストデータの上から3行分を飛ばして、4行目から読み込むようにするにはどのようなプログラムを書けば良いでしょうか? ちなみにデータは2列、100003行あります。 よろしくお願いします。

  • ファイルソート方法

    以下のようなテキストを入力してソートしたいのですが、どのようにプログラムを書けばよいのでしょうか? <<入力>> Fruit Apple Vegetable Tomato Friut Orange Fruit Grape Fish Salmon Vegetable Carrot <<ソート>> Fruit : Apple Orange Grape Vegetable: Tomato Carrot Fish : Salmon ソートしたあと、グループ毎の処理をしたいと思っています。 入力は数千行で、グループ(Fruit, Vegetable...)の個数などは不明です。

    • ベストアンサー
    • Perl
  • C言語についてです。

    C言語についてです。 次のようなテキストファイルがあるとします。 ------------------------------------- Sample.txt ------------------------------------- 項目一  項目二  項目三 1      2     1 2      1     3 3      3     1 ------------------------------------- 一行目が文字列、2行目以降が整数というファイルです。 このファイルを読み込み、1行目の文字列を表示し、2行目以降を読み込んでn行3列の配列に入れ更に表示したいのですが、どのように書けばいいのでしょうか? 宜しくお願いします。

  • ランキングシステムについて

    ランキングシステムを作っているのですが はじめに作ったときは それぞれの項目毎に一つのファイルを作って、そこに数値を記入していたんですが(こんなふうに) 好きな食べ物は? ファイル名 apple.txt 数値 5 ファイル名 banana.txt 数値 8 ファイル名 orange.txt 数値 6 データファイルを一つにして、そこからデータを読み込んだり編集したりしたいと思っているんですが(こんなふうに)、読み込んで画面上に出力することは出来るんですが、編集が上手くいきません data.txt 一行目 apple<>5 ニ行目 banana<>8 三行目 orange<>6 なにか上手い方法があったら教えてください

    • 締切済み
    • PHP
  • C言語

    毎度お世話になっております。 C言語の勉強を最近始めたのですが、ファイル処理で どうしても出来ない事があり質問させてもらいました。 処理内容は 「特定のファイルの指定した行だけを削除する」です。 fopenしたファイルをscanfによって削除したい行を指定して ファイルの編集をしようと思っているのですが、どうもできません。 初歩的な処理かと思いますがどうか教えてください。

  • C言語について教えてください。

    フォームに三つラジオボタンとボタン一つだけのC言語プログラムを作りたいです。複雑なものはC#で作っています。C言語にこだわる理由は、すべてのWindows上でFrameworkをインストールしなくとも動くらしいとのことです。 「厳密にはFramework不要の言語は世の中に存在しない」と言う方がいますが、非常に困惑しています。大体でいいんで、WindowsXPとWindows7でテキストファイルの処理ができれば十分です。 こんな簡単なプログラムを作るためには、どんなコンパイラーがよろしいですか? ド素人ですので、教えてください。

  • C言語の関数について困っています

    こんにちは。 C言語で、テキストファイルの行数を数える関数があれば教えて頂けないでしょうか。例えば、以下の3行を含んでいるテキストファイルを対象としたとすれば 123465789123456789 1234567981234579 987654321987654321 関数を実行すれば、3という数字が得られ、 123456  789 123546879  123 123  456789123   123456789123 というテキストファイルであれば、4という数字が得られる。そんな関数をご存知な方は私にご教授願えないでしょうか。どうぞよろしくお願いします。

  • C言語でエクセルからの値の読書込み方法

    C言語で、エクセルデータ(または、テキストデータ)からデータを読込んで、別に複数ファイルを作成し書込みする方法を知りたいのですが、どうすれば出きるのでしょうか。例:エクセルデータが、A1:0001 B1:東京 A2:0002 B2:大阪・・・・という内容で、C言語によって複数のテキストファイルを作成する。1つめのテキストファイルAは『1行目が0001、2行目が東京』、2つめのテキストファイルBは『1行目が0002、2行目が大阪』・・・・ということを実現したいのです。。。よろしくお願いします。