#include<stdio.h>
#include<stdlib.h>
#include <string.h>
#include <errno.h>
#include <unistd.h>
#define N 1024*1024
int main()
{
printf("--%s--%d\n",__func__,__LINE__);
FILE *fp_d;
FILE *fp_srgb;
FILE *fp_p3;
int xiaoyuhao2=0;
int z2=0;
int y=0;
int FLAG=0;
int FLAG2=1;
int i,j;
char * srgb=malloc(1024*1024*1024*sizeof(int));
//char * p3=malloc(1024*1024*1024*sizeof(int));
fp_d = fopen("HELLO.xml","r");
fseek(fp_d,0, SEEK_END);
int filelong=ftell(fp_d);
printf("________%d--------\n", filelong);
char * tmp1=malloc((filelong+1)*sizeof(char));
memset(srgb,0,sizeof(srgb));
memset(tmp1,0,sizeof(tmp1));
fseek(fp_d,0, SEEK_SET);
if (fp_d == NULL)
{
printf("errno=%d\n",errno);
perror("perror");
printf("open HELLO.xml faild\n");
exit(1);
}
while (!feof(fp_d))
{
fgets(tmp1, filelong+5, fp_d);
printf("temp1=[%s]\n\n\n", tmp1);
for(i=0;i<=filelong+5;i++)
{
#if 1
//strcat(srgb,"<DEVICE_VALIDATIONS>");
//z2=20;
if (FLAG2==1)
{
for(j=0;j<=50;j++)
{
printf("tmp1=%d--srgb=%c--%s--%d\n",*(tmp1+j),*(srgb+z2),__func__,__LINE__);
if(*(tmp1+j)!=0)
{
(*(srgb+z2))=(*(tmp1+j));
z2++;
//printf("tmp1=%c--srgb=%c--%s--%d\n",*(tmp1+j),*(srgb+z2),__func__,__LINE__);
}
}
//*(srgb+z2)='>';
//z2++;
FLAG2=0;
}
#endif
if (*(tmp1+i)==60)
{
xiaoyuhao2++;
//printf("--%s--%d\n",__func__,__LINE__);
}
if (*(tmp1+i)==62)
{
//printf("--%s--%d\n",__func__,__LINE__);
if(FLAG==1)
{
//printf("--%s--%d\n",__func__,__LINE__);
y=y+2;
}
FLAG=1;
}
if ((xiaoyuhao2>=(y+2)) && (xiaoyuhao2<(y+3)))
{
//printf("xiaoyuhao=%d--y=%d--tmp1=%c--%s--%d\n",xiaoyuhao2,y,*(tmp1+i),__func__,__LINE__);
if(*(tmp1+i)!=0)
{
(*(srgb+z2))=(*(tmp1+i));
//printf("xiaoyuhao=%d--y=%d--tmp1=%d--srgb=%c--%s--%d\n",xiaoyuhao2,y,*(tmp1+i),*(srgb+z2),__func__,__LINE__);
z2++;
}
}
}
//printf("excel= %s\n",excel);
}
printf("\n\n%ldSRGB=%s\n\n\n",strlen(srgb),srgb);
#if 0
putchar(10);
for (int j=0;j<6;j++)
{
printf("%c",(*(srgb+j)));
}
putchar(10);
#endif
fp_srgb = fopen("HELLO2.xml","w+");
if (fp_srgb == NULL)
{
printf("open SRGB.xml faild");
exit(1);
}
fwrite(srgb,strlen(srgb),1,fp_srgb);
fclose(fp_d);
fclose(fp_srgb);
//fclose(fp_c);
printf("SUCCESS\n");
}
Linux动态分配内存 open 、read、write操作文件
最新推荐文章于 2023-05-18 14:34:45 发布