Veröffentlicht 5. November 200123 j Tach Forum, kannst Du mir sagen, weshalb er mir hier nur Mist übergibt? Die auskommentierte Ausgabe ist OK. Das gleiche im Hauptprogramm gibt alle ASCII-Werte aus..... Gruss Volkaman! int main(int argc, char *argv[]) { char path[255]; path[255] = pfad(argv[1]); } char pfad(char k[]) { int laenge = 0; int anz =0; char s[255]; str_cpy(s, k); for (int i = 0; s[i] != '\0'; i++) { laenge++; } int y = laenge; for (y; s[y]!= char(92); y--) { anz++; } laenge = laenge - anz; s[laenge]= '\0'; // cout << " da:" << s <<endl; return s[255]; } :mad:
5. November 200123 j kann sein das ich dich jetzt falsch versteh aber: mach die funktion vor main bekannt, etwa so: char pfad(char * k) und dann dein Teil: main() { . . . } char pfad(char k[]) { . . . }
5. November 200123 j Hm, also mal sehen... for (int i = 0; s[i] != '\0'; i++) { laenge++; } Mit dieser Zählschleife willst Du doch sicher die Länge des Arrays ermitteln, oder? Warum verwendest Du dann nicht die Funktion "strlen" aus der "string.h"? So wie ich das sehe, gibst Du zum Schluss nur einen einzigen char zurück, nämlich den an der Stelle 255 (bzw. 256 wenn man bedenkt, dass wir ja bei 0 anfangen zu zählen ). Wenn Du den ganzen String (bzw. das Array) zurückgeben willst, würde ich mit Pointern arbeiten. Ich hoffe, dass Dir das hilft. Sollte es wider Erwarten falsch sein, was ich geschrieben habe, dann bitte nicht übel nehmen, denn: 1. Es ist Montag, und 2. ich habe gleich Feierabend. Grüsse! DocMabuse
7. November 200123 j Hab's schon erledigt. Der Fehler war.....ähhh keine Ahnung. Das mit den Prototypen und dem str_len war ja eh klar. Merci!!!
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.