ショッピングモール  


【掲示板ご利用上の注意】

 ※題名は具体的に!
 ※学校の課題の丸投げ禁止!
 ※ソースの添付は「HTML変換ツール」で字下げ!
 ※返信の引用は最小限に!
 ※環境(OSとコンパイラ)や症状は具体的に詳しく!
 ※マルチポスト(多重投稿)は謹んで!

 詳しくはこちら



 本当はこんなに大きく書きたくはないのですが、なかなか守っていただけなくて…。
 守ってくださいね。お願いします。(by管理人)

C言語ソース⇒HTML形式ツール   掲示板1こちら


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

No.2920

ファイルを読み込みたいのですが
投稿者---TM(2004/11/08 17:20:45)


過去ログで次のようなプログラムを見つけたのですが、

<pre>#include    &lt;stdio.h&gt;
           #include    &lt;string.h&gt;
           #include    &lt;ctype.h&gt;
           #include    &lt;limits.h&gt;


           int main( void )
           {
               /* ***** 内部変数定義 ***** */
               int     count[1+UCHAR_MAX] = {0};
               char    buf[1024] = { '\0' };
               char    *p;
               int        i;

               /* ****************************************
                   各文字の出現数をカウントする文字列を入力
               **************************************** */
               do
               {
                   /* ***** プロンプト表示 ***** */
                   fprintf( stderr, &quot;&gt;&gt;&quot; );

                   /* ***** 文字列入力 ***** */
                   fgets( buf, sizeof(buf), stdin );
                   ( p=strrchr(buf,'\n') ) ? *p='\n' : 0;    /* 改行除去 */
               } while( !buf[0] );

               /* ****************************************
                   文字列中の各文字の出現数をカウントする
               **************************************** */
               for( i=0; buf[i]; i++ )    /* 文字列終端までループ */
               {
                   if( isalnum(buf[i]) )    /* 英数字か? */
                   {
                       /* ***** 文字をカウント ***** */
                       count[tolower(buf[i])]++;
                   }
               }

               /* ****************************************
                   各文字の出現数を表示する
               **************************************** */
               for( i=0; i&lt;=UCHAR_MAX; i++ )
               {
                   if( isdigit(i) || islower(i) )    /* 英数字か? */
                   {
                       /* ***** 文字の出現数を表示 ***** */
                       printf( &quot;%c : %d\n&quot;, i, count[i] );
                   }
               }
               return 0;
           } /* ***** main() ***** */

実行結果を出力するときに、キーボードから直接入力すると正しい結果が得られるの
ですが、用意したファイルから読み取ろうとすると正しい結果がえられません。
  具体的に言うと、 

 Creighton Earns State Farm MVC Women's Soccer Crown
 Two goals within 15 mintues proved to be the difference as Creighton beat
 Drake 3-1 to earn the 2004 State Farm Missouri Valley Conference
 Women Soccer Championship. The Bluejays earn the Valley automatic
 bid into the NCAA Tournam A goal by Franny Hylok at 6:20 of the
              first half set the tone of the match.

              Less than eight minutes after Hylok's
              tally, Emily Munn scored her third
              goal of the season when the ball came
              to her out of a scrum after a corner
              kick fell in the box. 

 Bradley, Tulsa Advance To Men's Soccer Semis
              Preston Good, Luke Kreamalmeyer and Kevin
              Erickson all recorded a goal and an assist as
              fourth-seeded Bradley (10-6-2) pulled away for
              a 3-1 win versus fifth-seeded Drake (8-9-1) in
              the first round of the State Farm Missouri Valley
              Conference Tournament in front of 956 fans on
              Saturday night at Shea Stadium.

              With their third consecutive first round victory
              versus Drake, the Braves advanced to the MVC
              Tournament semifinals for the seventh
              consecutive year, the longest active streak in the
              Valley. 
              Story Posted: November 7, 2004

              Saturday Volleyball Recap
              League leader Wichita State swept Indiana State
              on Saturday night to improve to 14-1 in
              conference play on the heels of Cori Meyer who
              had 13 kills for the Shockers.

              Also around the league, UNI swept Southern
              Illinois, Creighton downed Drake 3-1, Evansville
              swept Bradley and Illinois State picked up a win
              over Southwest Missouri State.
              Story Posted: November 6, 2004

              No. 1 SMU, No. 2 Creighton Win In Men's Soccer:
              Mustangs, Bluejays Set For Semifinals
              Jarod Tarver scored twice as 18th-ranked
              Creighton defeated Evansville 3-1 on Friday
              night in the quarterfinals of the State Farm
              Missouri Valley Conference Championship at
              Morrison Stadium.

              The 1,507 fans witnessed a physical match,
              which included six yellow cards and the first
              Creighton red card of the season. 

              The win advances the Bluejays to the semifinals
              of the tournament next weekend, as Creighton
              and Morrison Stadium will host the semifinals
              and championship match. 
              Story Posted: November 5, 2004

              Three Sweeps and a Five Gamer in Volleyball Friday Night
              Wichita State, SMS and UNI swept their
              competition in Valley volleyball Friday night as
              the Shockers stopped Illinois State, the Bears beat
              Indiana State and UNI downed Evansville.

              Also in the league Friday, Southern Illinois used
              five games to defeat Bradley.
              Story Posted: November 5, 2004

              Drake, Creighton Prevail In Women's Soccer:
              Title Match To Be Broadcast Live
              Drake and Creighton advanced to the title match
              of the State Farm Missouri Valley women痴
              soccer championship.

              Playing at Cownie Soccer Complext in Des
            




</pre>

というファイルを読んだ時なのですが、出力結果が全て"0"になってしまいます。
  なぜなのでしょうか、教えてください。ながながとすいません。



この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:ファイルを読み込みたいのですが 2921 REE 2004/11/08 18:04:02


No.2921

Re:ファイルを読み込みたいのですが
投稿者---REE(2004/11/08 18:04:02)


>というファイルを読んだ時なのですが、出力結果が全て"0"になってしまいます。
> なぜなのでしょうか、教えてください。ながながとすいません。

このプログラムは始めの1行だけカウントする様です。
ファイルの一行目が空になっていませんか?



この投稿にコメントする

削除パスワード

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




掲示板提供:Real Integrity