• ベストアンサー

テキストファイルからの読み込みについて教えてください

glphonの回答

  • glphon
  • ベストアンサー率26% (41/152)
回答No.3

>1、'0'から'\0'に変更 fgets(name[loop], 22, FP); name[loop][strlen(name[loop]) -1] = '0'; fgets(phone[loop], 13, FP); phone[loop][strlen(phone[loop]) -1] = '0'; 直ってないですよね。

noname#220054
質問者

補足

すみません、最初の質問の時のソースです。こちらが修正したものです。 #include <stdio.h> #include <string.h> int main() { char name[10][22]; char phone[10][13]; char input[21]; int loop; FILE *FP; if((FP = fopen("address.txt", "r")) == NULL){ printf("ファイルが開けません\n"); return(1); } for(loop = 0; loop < 10; loop++){ fgets(name[loop], 22, FP); name[loop][strlen(name[loop]) -1] = '\0'; fgets(phone[loop], 13, FP); phone[loop][strlen(phone[loop]) -1] = '\0'; } printf("電話番号を検索したい名前を入力してください\n"); gets(input); for(loop = 0; loop < 10; loop++){ if(strcmp(name[loop], input) == 0){ printf("%sさんの電話番号は : %s\n", input, phone[loop]); } } return (0); } よろしくお願いします。

関連するQ&A

  • ファイルの読み込み

    テキストファイルから特定のコードを読み出し、その内容を改行つきで表示するにはどのようにすればよろしいですか?   コード 内容 例)070102  ・・・・・・・・・・・(改行 ・・・・・・・・・・・(改行   070103 ・・・・・・・・・・ ・・・・・・・・・・・

  • テキストファイルからの読み込みエラー

    app = getServletConfig().getServletContext(); fr =new FileReader(app.getRealPath("dbsplORA.txt")); br = new BufferedReader(fr); strPar = br.readLine(); br.close(); このような感じで、テキストファイルからの読み込みを行っていますが,なぜかいつもファイルが見つかりませんといわれます. ファイル自体はちゃんと名前も全半角あっています。 エラーメッセージに出ているものをコピーして貼り付けると動作します。 今回、Noを振り分け,ループしてたくさんのファイルを読み込もうと考えていますが,これのおかげで作成できません。 すみませんが、教えてもらえないでしょうか。 そして、今,仮ループで貼り付けて動かしていますが、最後らへんのテキストを読むとMalformedInputExceptionがでます。 ちなみに、ループで読み込みという意味は strBan = "dbsql"+strBan+".txt";//strBanはカウンターされている。 という意味です。よろしくお願いします。

    • ベストアンサー
    • Java
  • Ruby ファイルの読み込み

    cigファイルに下記のように書いて、テキストファイルを読み込んでますが、ここで質問があります。 puts File.readlines("test.txt") テキストファイルには、 下記のように3文字を改行して書いてあるのですが、↓ Hello !! Good Great これらをcgiファイルに読みこんでweb上で確認してみると Hello !! Good Great と一列に並んで表示されます。 改行も含めて、表示したいのですが、どのようにすればよいでしょうか? 教えてください。お願いいたします。

    • ベストアンサー
    • Ruby
  • マイフェスで作成したテキストファイルについて

    MIFES(マイフェス)を使ってテキストファイル(.txt)を作成しています。 作成したファイルをマイフェスで開く分には何の問題もないのですが、 Windowsのメモ帳で開くと、 改行している場所に「↑」と表示されており改行されません。 例えばマイフェスで、  あいうえお  かきくけこ という文章のテキストファイルを作成し、これをメモ帳で開くと、  あいうえお↑かきくけこ と表示されてしまいます。 他のエディタで開いても正常に改行されるようにするには どうしたらよいでしょうか。

  • テキストを正しく表示して見てもらうには

    何度も同じようなことを聞いてすみません。 (1) OS付属のテキストエディタ(つまり、Macintosh OS 9のSimpleText、Macintosh OSXのテキストエディット、Windowsのメモ帳)のどれかを使っているがどれを使っているのか分からない相手にテキストファイルを渡し、それをOS付属のテキストエディタで正しく表示して読んでもらいたい場合は、 (a)改行コードがCRであるテキストファイル (b)改行コードがCR+LFであるテキストファイル の2つを作ってその両方を渡し、Macintoshを使っているのであればOS 9でもOSXでも(a)を、Windowsを使っているのであれば(b)を、それぞれOS付属のテキストエディタで開いてみてもらうように別途伝えておけば、正しく表示して読んでもらえるでしょうか。 (2) OS付属のテキストエディタ(つまり、Macintosh OS 9のSimpleText、Macintosh OSXのテキストエディット、Windowsのメモ帳)のどれかを使っているがどれを使っているのか分からない相手にテキストファイルを渡し、それをOS付属のテキストエディタで正しく表示して読んでもらいたい場合は、(1)が最も簡単な方法でしょうか。これ以上に簡単な方法があるでしょうか。

    • ベストアンサー
    • Mac
  • ファイルの読み込みについて

    アドレス帳をコンソールで作成しようと考えています。 環境は VisualStudi 6.0 です。 住所などの個人情報が書かれたファイルからの読み込みを行うところでつまづいてしまいました。以下がファイルの形式です。 名前(全角) 年齢(半角) 郵便番号(半角) 住所(全角) 電話番号(半角)   ・   ・   ・ となっています。一人一人の情報の間には空行はありません。 これらを行単位で読み込むように fgets を使用して読み込みました。 しかし fgets は改行コードまで含まれてしまうため、改行コードを '\0'と置き換えるような関数を作りました。 void my_strtrim(char *buff1){ while(*buff1 != '\n') buff1++; *buff1 = '\0'; } この関数を付け加え、 fgets 関数の直後に my_strtrim 関数を行うことで読み込んだ文字列の改行コードを削除しようと考えました。 読み込む変数(char型)は直前で各情報毎にmallocにより動的にメモリを確保しています。 そこで実行したとき、なぜか郵便番号を読み込んだ後ののmy_strtrim関数でエラーが出てしまいます。 郵便番号を例えば 333-3333 というようにハイフンを入れた場合にエラーが出るのですが、ハイフンを除き 3333333 とした場合は表示はされるのですが、その後の情報の表示はぐちゃぐちゃになってしまいます。 何が原因なのでしょう?

  • 超巨大テキストファイルの改造

    よろしくお願いします。 370GB(笑)くらいの超巨大なテキストファイルがあります。 このテキストファイルで、"\n"の文字列が出てきたら改行していくような簡単なプログラムを作成しようと思うのですが、ここで問題がありまして、HDDの残り容量が200GB程しかなく元のテキストファイルを読み込んで改造して新たなテキストファイルを吐き出すような感じでは無理そうです。どうすればよいのか分からず困っています。自分でプログラムを作らなくても何か良さそうなフリーソフトやツールがあれば教えてください。よろしくお願います。

  • テキストファイルウィザードを使用したCSVファイル読み込みの挙動について【Excel2003】

    テキストファイルウィザードを使用したCSVファイル読み込みの挙動について【Excel2003】 <CSVファイル例> "aaaa","bbb<改行コード 0d0A>bb","ccc" 上記のようなCSVファイルを、 ダブルクリックにてExcel起動すれば正常に表示されますが、 テキストファイルウィザード(データ→外部データ取り込み→データの取り込み) を使用して、読み込みを行うと改行されて表示されてしまいます。 これは、Excelの仕様なのでしょうか? ご存知の方いらっしゃいましたら教えていただけますでしょうか? 現在の本質的な問題は、 ------------------------------------------------------------------- Excel2003にて、文字コードがUTF-8のCSVファイルを下記方法にて読み込む ・テキストファイルウィザードを使用 ・文字コードをUTF-8 ・カンマ区切り設定 で読み込みを行うと文字化けしないで表示されるのですが ダブルコーテーション中のデータ内に改行コード0d0aが含まれると 改行されてしまいます。 ------------------------------------------------------------------- と言う現象の調査をしております。

    • 締切済み
    • PHP
  • テキストファイルにてデータ管理

    お世話になっております。 http://oshiete1.goo.ne.jp/qa4005498.html http://oshiete1.goo.ne.jp/qa4047511.html これまで上記ページにてDBを使わずにテキストファイルにてデータ管理するアドバイスをいただき、テキストエリアに入力したものをテキストファイルに登録することが出来ました。 こんな感じ。 01<>プログラム 01_01<>PHP 01_02<>javascript と入力したものを、テキストファイルに 01  プログラム 01_01 PHP 01_02 javascript に登録(半角数値と文字の間はスペース)。 そこで、テキストファイルに登録されたデータを修正・削除する管理画面を作っているのですが、テキストファイルからデータを呼び出し、file()を用いてデータを配列にし、for文で各データをテキストフォームに表示させるところまで出来ましたが、以下の点についてが分からず、アドバイスを頂ければと投函させていただきます。 1.修正する場合、テキストファイルのデータを配列にして各データをテキストフォームにて表示させているが、修正する場合、どのような流れになるのか?(テキストファイルのデータは改行にて登録されていますが、テキストファイルから読み込んだとき配列にしているので、適正な流れが分かりません) 2.テキストファイルのデータを配列にし、各テキストフォームに表示させた際、削除するための機能と考え、各データ毎にチェックボックスを設けていますが、配列データの任意の場所を削除したとき、再度テキストファイルに改行を含んだデータとして登録するには、どういった流れ(プログラム?関数?)になるのか? 以上、皆さんお忙しいとは思いますが、お知恵を頂戴出来れば幸いです。宜しくお願い致します!

    • ベストアンサー
    • PHP
  • 改行コードの入っていないテキストファイルが開けるテキストエディタは?

    1レコードが256バイトのテキストデータが格納されているファイルがあるのですが、このファイルには改行コードが入っていません。 テキストエディタにてファイルの中身を確認したいのですが、メモ帳ですときれいに表示できません。 1行256バイトで表示できるフリーのテキストエディタをどなたかご存知でしょうか。 ご存知の方がいらっしゃいましたら教えてください。 お願いします。