#include
#include
#include
int decpt,sign;
char *fname,*fc,*fch;
char *filen;
int a1=10,j=0;
int get_len (int flag) {
j++;
fc = fcvt((float)(a1+j),0,&decpt,&sign);
printf("fc=%s\n",fc);
fname = strcat(fch,fc);
printf("fch=%s\n",fch);
char fch1[5]=".jp2";
fname = strcat(fname,fch1);
memset(fch,0,sizeof(fch));
fch=filen;
return 0;
}
int main(int argc,char * argv[]) {
char *dev;
int i;
filen = argv[3];
fch=argv[3];
printf("%s\n",fch);
for(i=0;i<10;i++)
get_len(0);
return 0;
}
以上是我的代码。但是比较奇怪的是执行这一条命令后memset(fch,0,sizeof(fch));将我的所有*fname,*fc,*fch,*filen;都清零
请高手指点下。说下原因。在window使用过没有这个问题。