PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Dateiendung ändern geht nicht



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?

arthur
06-03-2004, 11:13
benutze für das vergleichen von strings strcmp
und nicht '=='.
oder wechsel von char* auf die string klasse (c++)

gruß
Arthur

againsttcpa
06-03-2004, 11:56
Danke :D klappt jetzt hervorragend ;)