求教error C2061: syntax error : identifier 'read_',该如何解决
求教error C2061: syntax error : identifier 'read_'
编译器VC6.0
代码如下
不知是不是有头文件未包含?
#include <stdio.h>
#include <string.h>
bool read_(int *a,char * file_name); <---------出错点
main()
{
const int n=8;
int a[8];
if(!read_(a, "data.txt "))
exit(0);
}
bool read_(int *a,char * file_name)
{
FILE *read_;
int count_=0;
int num=0;
char c;
if(read_=fopen(file_name, "r ")==NULL)
{
printf( "cannot open file:%s ",file_name);
return false;
}
while(!feof(file_name))
{
switch(c=fgetc(file_name))
{
case '0 ': case '1 ' :case '2 ':case '3 ':case '4 ':case '5 ':case '6 ':case '7 ':case '8 ':
case '9 ':
num*=10;
num+=int(c- '0 ');
break;
case ' ': case '\n ':
*(a+count_++)=num;
num=0;
break;
default:
break;
}
}
return true;
}
------解决方案--------------------
#include <stdio.h>
#include <string.h>
bool read_(int *a,char * file_name);
main()
{
const int n=8;
int a[8];
if(!read_(a, "data.txt "))
exit(0);
}
bool read_(int *a,char * file_name)
{
FILE *read_;
int count_=0;
int num=0;
char c;
if((read_=fopen(file_name, "r "))==NULL) //read前加个左括号,==前加个右括号
{
printf( "cannot open file:%s ",file_name);
return false;
}
while(!feof(read_)) //这个函数的参数你弄错€了吧.???应该是这样的.
{
switch(c=fgetc(read_))//和上面一样的€道理.
{
case '0 ': case '1 ' :case '2 ':case '3 ':case '4 ':case '5 ':case '6 ':case '7 ':case '8 ':
case '9 ':
num*=10;
num+=int(c- '0 ');
break;
case ' ': case '\n ':
*(a+count_++)=num;
num=0;
break;
default:
break;
}
}
return true;
}
//还有你的函数名和里面的变量名字用的是一个名字,可不可以不用同样的.
是否建立了合适的工程?
编译器VC6.0
代码如下
不知是不是有头文件未包含?
#include <stdio.h>
#include <string.h>
bool read_(int *a,char * file_name); <---------出错点
main()
{
const int n=8;
int a[8];
if(!read_(a, "data.txt "))
exit(0);
}
bool read_(int *a,char * file_name)
{
FILE *read_;
int count_=0;
int num=0;
char c;
if(read_=fopen(file_name, "r ")==NULL)
{
printf( "cannot open file:%s ",file_name);
return false;
}
while(!feof(file_name))
{
switch(c=fgetc(file_name))
{
case '0 ': case '1 ' :case '2 ':case '3 ':case '4 ':case '5 ':case '6 ':case '7 ':case '8 ':
case '9 ':
num*=10;
num+=int(c- '0 ');
break;
case ' ': case '\n ':
*(a+count_++)=num;
num=0;
break;
default:
break;
}
}
return true;
}
------解决方案--------------------
#include <stdio.h>
#include <string.h>
bool read_(int *a,char * file_name);
main()
{
const int n=8;
int a[8];
if(!read_(a, "data.txt "))
exit(0);
}
bool read_(int *a,char * file_name)
{
FILE *read_;
int count_=0;
int num=0;
char c;
if((read_=fopen(file_name, "r "))==NULL) //read前加个左括号,==前加个右括号
{
printf( "cannot open file:%s ",file_name);
return false;
}
while(!feof(read_)) //这个函数的参数你弄错€了吧.???应该是这样的.
{
switch(c=fgetc(read_))//和上面一样的€道理.
{
case '0 ': case '1 ' :case '2 ':case '3 ':case '4 ':case '5 ':case '6 ':case '7 ':case '8 ':
case '9 ':
num*=10;
num+=int(c- '0 ');
break;
case ' ': case '\n ':
*(a+count_++)=num;
num=0;
break;
default:
break;
}
}
return true;
}
//还有你的函数名和里面的变量名字用的是一个名字,可不可以不用同样的.
是否建立了合适的工程?