我试图在main()中使用这个字符比较函数,同时忽略大小写敏感性。是否有一种方法从main调用to (Ch1)和ch2,以便如果引发-i (大小写不敏感),我可以重用代码。
int CharacterCompare( FILE *file1, FILE *file2, char file1name[], char file2name[] )
{
int ch1, ch2;
int differ = 0;
do
{
ch1 = fgetc( file1 );
ch2 = fgetc( file2 );
differ++;
if ( feof( file1 ) && !feof( file2 ) )
{
printf( "EOF on %s\n", file1name );
return 1;
}
else if ( feof( file2 ) && !feof( file1) )
{
printf( "EOF on %s\n", file2name );
return 1;
}
if (ch1 != ch2)
{
printf( "files differ: char %d\n", differ );
return 1;
}
}
while( ( !feof( file1 ) ) && ( !feof( file2 ) ) && (ch1 == ch2) );
printf( "files are equal\n" );
return 0;
}发布于 2014-03-06 09:15:53
简短的(也是唯一的)答案是:不,您不能访问在其他函数中本地声明的变量。
相反,将大小写不敏感作为参数传递给函数。
https://stackoverflow.com/questions/22219792
复制相似问题