将包含.c文件的VC6.0工程在VC2008中打开就出有关问题了,咋回事

将包含.c文件的VC6.0工程在VC2008中打开就出问题了,怎么回事?
将包含.c文件的VC6.0工程在VC2008中打开就出有关问题了,咋回事

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(int argc, char *argv[])
{
unsigned long int file_length = 0;
FILE *fp = NULL;
char *single_row_data[4095] = {NULL};//行数据
char *single_data[4095] = {NULL};//单个字符串
char *read_data = NULL;
char data[20] = "";//用于储存数据
int i = 0;
int j = 0;
int k = 0;
int str_len = 0;

//打开的文件,只需修改名称就行,记住放在执行文件同目录下,vc6.0放在Debug目录下,点开exe文件就可打开
fp=fopen("C:\\Users\\lxp\\Desktop\\Pick Place for 51pcb.csv","rw+");//fp = fopen("./target.txt","rw+");
if(fp == NULL)
{
printf("open file failed\n");
return 1;
}

fseek(fp,0L,2); //将指针移至文件尾
file_length = ftell(fp); //获取目前的读取位置
rewind(fp); //将指针移至文件首

read_data = (char *)malloc(file_length); //Malloc 向系统申请分配指定file_length个字节的内存空间。
memset(read_data,0,file_length); //将read_data的前file_length个用0替换//其实就是清零

fread(read_data,file_length,1,fp);//指向储存空间的首地址的指针(用于接收数据的内存地址)+要读的字节数
//+要读多少块数据+指向要进行操作的文件
fclose(fp);

//printf("read_data is\n%s\n",read_data); //测试打印读取文件中所有内容
single_row_data[0] = read_data;
while((single_row_data[i++] = strtok(single_row_data[i],"\r\n")) != NULL);

i = 0;//第一行
while(single_row_data[i] != NULL)
{
if(i == 1)//跳过第二行
{
i = 2;
}
for(j = 0; j < 11; j++)
{
if(j == 0)
{
single_data[i*11+j] = strtok(single_row_data[i],",");
}
else
{
single_data[i*11+j] = strtok(NULL,",");
}
//printf("%s\n",single_data[i*11+j]); //测试按逗号截取(冒号内容包括冒号)结果
str_len = strlen(single_data[i*11+j]);
memset(data,0,sizeof(data));//清空data的前sizeof(data)个字节
strncpy(data,single_data[i*11+j]+1,str_len-2); //去掉冒号

if (data!=NULL)
{
printf("%s",data); //打印出数据
}

for(k = 0; k<(13 - strlen(data)); k++) //按一定长度对齐(13个空格长度)
{
printf(" ");
}

if(j == 10)
{
printf("\n"); //打印完一行数据就换行
}
}
i++;//下一行
}

free(read_data);//释放Malloc申请的内存 //打印完一行数据就换行
return 0;
}

在vc6.0中打开是这样的
将包含.c文件的VC6.0工程在VC2008中打开就出有关问题了,咋回事
这是Pick Place for 51pcb.csv数据,能读到最后但会出错
将包含.c文件的VC6.0工程在VC2008中打开就出有关问题了,咋回事
------解决方案--------------------
    char *single_row_data[4095] = {NULL};//行数据
    char *single_data[4095] = {NULL};//单个字符串
是 char*  还是 char ?
------解决方案--------------------
创建一个控制台项目,使用项目-添加新项将.c文件加入
------解决方案--------------------
每行11 个数据 ?
搞怎么复杂?
不能用
int fscanf( FILE *stream, const char *format [, argument ]... );
?