Archiv für Funktions-Definitionen
-
jizzer schrieb:
@Supertux:
http://www.cplusplus.com/reference/clibrary/cstring/strcpy/Wo finde ich hier den quellcode?
http://www.google.com/codesearch?q=strcpy&hl=en&btnG=Search+Code
-
Ich finds nicht in reinem C code..
-
Andersrum:
Könnt ihr mir sagen, warum folgender Code nicht funktioniert?
edit:#include <stdio.h> void strcpy_new(char* t, const char* s) void main(void) { char text[] = "Hallo Welt", string[] = "ollaH"; strcpy_new(text, string); puts(text); system("pause"); } /*strcpy_new*/ void strcpy_new(char* t, const char* s) { int i = 0; for (; s[i] != '\0'; i++) t[i] = s[i]; }
-
Danke, dass du uns auf eine wilde Websuche schickst, anstatt einfach gleich die richtige Frage zu stellen
.
Was ist das Problem? Es wird Hallo durch ollaH ersetzt. Soll zusätzlich noch abgeschnitten werden? Dann setz eine Nullterminierung!
-
SeppJ schrieb:
Danke, dass du uns auf eine wilde Websuche schickst, anstatt einfach gleich die richtige Frage zu stellen
.
Was ist das Problem? Es wird Hallo durch ollaH ersetzt. Soll zusätzlich noch abgeschnitten werden? Dann setz eine Nullterminierung!
Entschuldige bitte, aber meine anfängliche Frage ist damit nicht hinfällig.
Im Sinne einer spezifischen Lösung habe ich dann halt mein momentanes Problem gepostet; hinsichtlich noch kommender Fragen wäre eben jenes Archiv sehr sinnvoll, aus meiner Sicht.Da für die die Funktion banal erscheint, funktioniert sie so, wie sie eine Seite vorher steht bei dir? Ja?
Bei mir kommen nämlich Fehlermeldungen und ich weiss nich was ich ändern soll..Danke für dein Verständnis.
PS:
1>------ Build started: Project: Test, Configuration: Debug Win32 ------ 1>Compiling... 1>Testsource.c 1>d:\daten\z002nweb\inout\inout\testsource.c(7) : error C2085: 'main' : not in formal parameter list 1>d:\daten\z002nweb\inout\inout\testsource.c(7) : error C2143: syntax error : missing ';' before '{' 1>d:\daten\z002nweb\inout\inout\testsource.c(11) : warning C4013: 'system' undefined; assuming extern returning int 1>d:\daten\z002nweb\inout\inout\testsource.c(16) : error C2084: function 'void strcpy_new(char *,const char *)' already has a body 1> d:\daten\z002nweb\inout\inout\testsource.c(3) : see previous definition of 'strcpy_new' 1>Build log was saved at "file://d:\Daten\z002nweb\inout\inout\Debug\BuildLog.htm" 1>Test - 3 error(s), 1 warning(s) ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
-
Ach so, die vielen Syntax- und Sprachfehler habe ich weggemacht, da ich annahm, dass du die Funktion per Hand abgeschrieben hast und einen sehr toleranten Compiler benutzt.
Die Fehler sind:
Zeile 3, Semikolon fehlt
Zeile 6, Rückgabetyp von main ist int.
Zeile 11, benötigt stdlib.hEs wäre sehr nützlich, wenn du in Zukunft genaue Fragen stellst, denn "funktioniert nicht" hilft nicht weiter.
-
Außerdem wird der entstandene String nicht terminiert.
Vor Funktionsende noch eint[i] = 0;
sollte das nachholen.
-
Danke
SeppJ schrieb:
Es wäre sehr nützlich, wenn du in Zukunft genaue Fragen stellst, denn "funktioniert nicht" hilft nicht weiter.
Woher soll ich vorher wissen wo der Fehler liegt, wenn das genau meine Frage wäre?
-
Gast0815 schrieb:
Außerdem wird der entstandene String nicht terminiert.
Vor Funktionsende noch eint[i] = 0;
sollte das nachholen.
Hm, warum aufeinmal nicht mehr '\0'?
edit: Ok, habs grad getestet, geht beides
-
'\0' als Escape-Sequenz entspricht dem ASCII-Wert 0.
Genauso wie 'A' intern als Char-Wert 65 gespeichert wird.('\0' == 0)
-
jizzer schrieb:
Danke
SeppJ schrieb:
Es wäre sehr nützlich, wenn du in Zukunft genaue Fragen stellst, denn "funktioniert nicht" hilft nicht weiter.
Woher soll ich vorher wissen wo der Fehler liegt, wenn das genau meine Frage wäre?
Du sollst Fragen:
Folgender Code produziert bei mir Fehler xyz.Nicht:
Folgender Code funktioniert nicht.
-
jizzer schrieb:
Ich finds nicht in reinem C code..
Ich bitte dich, gleich der zweite Eintrag führt zu C-Code aus OpenBSD