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

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

 詳しくはこちら



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

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


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

No.19410

エラーの意味教えてください。。
投稿者---エラー(2005/01/23 20:11:55)


#include<stdio.h>
#include <stdlib.h>
int main(void){
  int N, i, data[50];
  char fname1[30]="000,dat";
  FILE *fp, *fp1;
  
  if((fp1=fopen(fname1,"r"))==NULL){
      printf("error!fileopen!");
      exit(1);
  }
  
  N=0;
  while(fscanf(fp1"%d",&data[N])!=-1){
        N++;
  }
  fclose(fp1);
  
  if((fp=("001,dat","w"))==NULL){
      printf("error!fileopen!");
      exit(1);
  }
  
  i=0; 
  for(i=0; i<N; i++){  
      fprintf(fp,"%d %d \n", i+1, data[i]);
  }

  fclose(fp);
}


一応このプログラムは、読み込みをし、dataに一時データ保存して、それを新しいファイルに書き込むというソース。

エラー表示
04.c
04.c(14) : error C2143: syntax error : missing ')' before 'string'
04.c(14) : error C2198: 'fscanf' : too few arguments for call through pointer-to
-function
04.c(19) : error C2059: syntax error : 'if'
04.c(25) : error C2059: syntax error : 'for'
04.c(25) : error C2143: syntax error : missing '{' before '<'
04.c(25) : error C2059: syntax error : '<'
04.c(25) : error C2143: syntax error : missing '{' before '++'
04.c(25) : error C2059: syntax error : '++'
04.c(25) : error C2059: syntax error : ')'
04.c(30) : error C2059: syntax error : '}'

↑上記のプログラムでエラーがでました。
特にfor文エラーあたりの’<’と’>’というのも意味がわかりませんです。
指導お願いします。


この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:エラーの意味教えてください。。 19411 ぽへぇ 2005/01/23 20:31:36
<子記事> Re:エラーの意味教えてください。。 19422 nop 2005/01/24 00:08:46


No.19411

Re:エラーの意味教えてください。。
投稿者---ぽへぇ(2005/01/23 20:31:36)



エラーのときはエラー行だけでなく、その数行前から見ましょう。

> while(fscanf(fp1"%d",&data[N])!=-1){
while(fscanf(fp1, "%d", &data[N]) != -1) {

>if((fp=("001,dat","w"))==NULL){
if( (fp=fopen("001,dat", "w"))==NULL ){

>特にfor文エラーあたりの’<’と’>’というのも意味がわかりませんです。
>指導お願いします。
前の方のエラーによって正しく構文解釈できなくなっているのでしょう。
前の方のエラー1つが100個以上のエラーを引き起こすことも珍しくありません。



この投稿にコメントする

削除パスワード

No.19414

Re:エラーの意味教えてください。。
投稿者---エラー(2005/01/23 20:48:06)



>エラーのときはエラー行だけでなく、その数行前から見ましょう。
そうなんですか! これでやっと今までのエラーの意味がわかった気がしました。
ありがとうございます。


この投稿にコメントする

削除パスワード

No.19416

Re:エラーの意味教えてください。。
投稿者---エラー(2005/01/23 21:31:19)


またまたすみません。先程のアドバイスでエラー直しがうまくできましたが、
これがわかりません。

ソース
  int N, i, data[50];
  char fname01[30]="000.dat";
  char fname02[30]="001.dat";
  char fname03[30]="002.dat";
  FILE *fp, *fp1, *fp2, *fp3;
 
   printf("000\n");
   sample(fname01,fp1);
   printf("001\n");
   sample(fname02,fp2);
   printf("002\n");
   sample(fname03,fp3);

  if((fp1=fopen("100.dat","w"))==NULL){
      printf("error!fileopen! 1");
      exit(1);
  }
fclose(fp1);
return 0;
}

void sample(char fname[], FILE fp[]){
  int N, i, data[50];
   FILE *fp;
  
  if((fp=fopen(fname,"r"))==NULL){
      printf("error!fileopen! 0");
      exit(1);
  }
  
  N=0;
  while(fscanf(fp,"%d",&data[N])!=-1){
        N++;
  }
  
  fclose(fp);
  
  i=0; 
  for(i=0; i<N; i++){  
      fprintf(fp,"%2d %d \n", i+1, data[i]);
  }
}  


  


エラー
05.c(28) : error C2082: redefinition of formal parameter 'fp'
仮定義ができていないっていうんですよね。。 それってなになんですか;



この投稿にコメントする

削除パスワード

No.19417

Re:エラーの意味教えてください。。
投稿者---monkey(2005/01/23 22:01:09)


引数の名前'fp'と同じ名前が再定義'redefinition'されてるってことでは?


この投稿にコメントする

削除パスワード

No.19418

Re:エラーの意味教えてください。。
投稿者---エラー(2005/01/23 22:45:56)


>引数の名前'fp'と同じ名前が再定義されてるってことでは?
というと、fpが重なっている?

void sample(char fname[], FILE fp[]){
  int N, i, data[50];
   FILE *fp;
  
  if((fp=fopen(fname,"r"))==NULL){
      printf("error!fileopen! 0");
      exit(1);
  }
  
  N=0;
  while(fscanf(fp,"%d",&data[N])!=-1){
        N++;
  }
  fclose(fp); ←クローズでfpのファイル処理するわけで・・

  i=0; 
  for(i=0; i<N; i++){  
      fprintf(fp,"%2d %d \n", i+1, data[i]);
       ↑このファイルでは、data[i]の一時保存で。
  }
  fclose(fp); ←ファイル処理済みだから意味なし?
}  


といい、別のFILE *fp, *fp1;をつくってみたりしても同じエラーがでます。
ごめんなさい・・・ 降参です。 わかりません。。





この投稿にコメントする

削除パスワード

No.19419

Re:エラーの意味教えてください。。
投稿者---ぽこ(2005/01/23 22:50:49)


>void sample(char fname[], FILE fp[]←最初の定義
> FILE *fp;←重複する定義

ソースコードを"fp"で検索しましょう。



この投稿にコメントする

削除パスワード

No.19420

Re:エラーの意味教えてください。。
投稿者---エラー(2005/01/23 23:46:32)


>>void sample(char fname[], FILE fp[]←最初の定義
>> FILE *fp;←重複する定義

全部理解した訳では、ないですが、わかりました。
そのエラーを治したら、別のエラーがでまくってました。
どうやらこのソースは、ダメでした(笑

一から出直してきます。 ありがとうございます。


この投稿にコメントする

削除パスワード

No.19422

Re:エラーの意味教えてください。。
投稿者---nop(2005/01/24 00:08:46)


まず、英語の勉強から始めるか、
翻訳ソフトを買った方がいいよ。


この投稿にコメントする

削除パスワード

No.19427

Re:エラーの意味教えてください。。
投稿者---RiSK(2005/01/24 00:33:30)


>翻訳ソフトを買った方がいいよ。

翻訳サイトでも良いでしょう。
Excite エキサイト 翻訳 : 英語翻訳

ただし,精度は期待しちゃダメよ


この投稿にコメントする

削除パスワード

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