xls文件如下
效果图
错误代码:
int main()
{
FILE *fp;
int i,j ;
int da[4][5] = {0} ;//这里错了
fp=fopen("C:/Users/yf/Documents/Visual Studio 2010/Projects/ReadTime/ReadTime/ReadTime.xls","r"); // fp指针指向文件头部
for(i = 0 ;i < 5 ; i++){
for(j = 0 ;j < 4 ; j++)
{
fscanf(fp,"%d",&da[i][j]);
fseek(fp, 1, SEEK_CUR); /*fp指针从当前位置向后移动*/
}
}
for(i = 1 ;i < 5 ; i++){
printf("i:%d da[i][j]:%d %d %d %d \n",i,da[i][0],da[i][1],da[i][2],da[i][3]);
}
fclose(fp);
system("PAUSE");
return 0;
}
正确代码:
int main()
{
FILE *fp;
int i,j ;
int da[4][4] = {0} ;
//da[a][b] a代表行 b代表列
fp=fopen("C:/Users/yf/Documents/Visual Studio 2010/Projects/ReadTime/ReadTime/ReadTime.xls","r"); // fp指针指向文件头部
for(i = 0 ;i < 4 ; i++){
for(j = 0 ;j < 4 ; j++)
{
fscanf(fp,"%d",&da[i][j]);
fseek(fp, 1, SEEK_CUR); /*fp指针从当前位置向后移动*/
}
}
for(i = 1 ;i < 4 ; i++){
//这里的i=1是去掉了首行
printf("i:%d da[i][j]:%d %d %d %d \n",i,da[i][0],da[i][1],da[i][2],da[i][3]);
}
fclose(fp);
system("PAUSE");
return 0;
}
修改后代码,去掉了首行如图:
另外还有一个问题记录一下,如果打印首行的话,字母加数字的形式会出现多行情况。