againsttcpa
06-03-2004, 09:16
Ich habe mit folgender Funktion ein Problem:
short constructoutfilename(char *argv1,char *argv2,char *outfilename)
{
char *cptr;
strcpy(outfilename,argv1);
if ((cptr=strrchr(outfilename,DOT))==NULL) {
if (argv2 == "dwg") {
strcat(outfilename,".dwg"); //if input file does not have a .anything extension
return(1);
}
else {
strcat(outfilename,".dxf"); //if input file does not have a .anything extension
return(1);
}
}
else {
if (argv2 == "dwg") {
strcpy(&cptr[1],"dwg"); //if input file does have a .anything extension
return(1);
}
else {
strcpy(&cptr[1],"dxf"); //if input file does have a .anything extension
return(1);
}
}
}
Eigentlich sollte die Dateiendung entsprechend dem zweiten Parameter geändert werden, es tut sich aber nichts, es wird immer der letzte Else-block ausgeführt.
Im ersten Parameter wird der Ursprünglich Dateiname übergeben und im zweiten die neue Dateiendung.
Was mache ich falsch?
short constructoutfilename(char *argv1,char *argv2,char *outfilename)
{
char *cptr;
strcpy(outfilename,argv1);
if ((cptr=strrchr(outfilename,DOT))==NULL) {
if (argv2 == "dwg") {
strcat(outfilename,".dwg"); //if input file does not have a .anything extension
return(1);
}
else {
strcat(outfilename,".dxf"); //if input file does not have a .anything extension
return(1);
}
}
else {
if (argv2 == "dwg") {
strcpy(&cptr[1],"dwg"); //if input file does have a .anything extension
return(1);
}
else {
strcpy(&cptr[1],"dxf"); //if input file does have a .anything extension
return(1);
}
}
}
Eigentlich sollte die Dateiendung entsprechend dem zweiten Parameter geändert werden, es tut sich aber nichts, es wird immer der letzte Else-block ausgeführt.
Im ersten Parameter wird der Ursprünglich Dateiname übergeben und im zweiten die neue Dateiendung.
Was mache ich falsch?