#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
struct decode
{
int start_size;
int size_count;
char data_type[10];
char dis_type[10];
}dec_excel[10];
void check()
{
int i;
FILE *fp1,*fp2;
char line[100];
char *p;
fp1=fopen("E:\\decode1.csv","r");
fp2=fopen("E:\\decode2.csv","w");
if(fp1==NULL)
{
printf("cannot open decode1\n");
exit(0);
}
if(fp2==NULL)
{
printf("cannot open decode2\n");
exit(0);
}
for(i=0;i<10;i++)
{
fgets(line,sizeof(struct decode)+1,fp1);
p=strtok(line,",\n");
dec_excel[i].start_size=atoi(p);
p=strtok(NULL,",\n");
dec_excel[i].size_count=atoi(p);
p=strtok(NULL,",\n");
strcpy(dec_excel[i].data_type,p);
if ( (dec_excel[i].size_count==1) && (dec_excel[i].data_type=="原码"))
strcpy(dec_excel[i].dis_type,"UINT8");
if (dec_excel[i].size_count==1 && dec_excel[i].data_type =="补码")
strcpy("INT8",dec_excel[i].dis_type);
if (dec_excel[i].size_count==2 && dec_excel[i].data_type=="原码")
strcpy(dec_excel[i].dis_type,"UINT16");
if (dec_excel[i].size_count==2 && dec_excel[i].data_type =="补码")
strcpy(dec_excel[i].dis_type,"INT16");
if (dec_excel[i].size_count==4 && dec_excel[i].data_type=="原码")
strcpy(dec_excel[i].dis_type,"UINT32");
if (dec_excel[i].size_count==4 && dec_excel[i].data_type =="补码")
strcpy(dec_excel[i].dis_type,"INT32");
}
for(i=0;i<10;i++)
{
fprintf(fp2,"%s\n",dec_excel[i].dis_type);
}
fclose(fp1);
fclose(fp2);
}
int main()
{
check();
return(0);
}
如上C程序,我是想将如下截图内容读入:
然后,通过条件判断语句,将判断结果再写入“decode2”表格中,想达到如下截图中所示(第四列)结果:
请各路C语言高手,帮忙给看看!在此谢谢了!