000
26.06.2022, 18:33 Uhr
machmalwas
|
Hallo an alle.
Ich bin ein C-Newbie und am lernen. (komme aus der vb,vba,vb.net Ecke).
In der Methode myText soll der Parameter ptrText als Rückgabeparameter fungieren. Die Methode myText funktioniert auch, aber sobald sie nach main zurückkehrt ist der Wert von ptrText NULL. (free() funktioniert dann auch nicht?)
Wo ist da mein Denk(programmier) Fehler?
In Google habe ich nur Beispiele gefunden die entweder int oder double Parameter zurückgeben oder String als Rückgabe der Methode.
Umgebung: Windows 10, VS2019
Über Hilfe würde ich mich freuen.
C++: |
#include <stdio.h> #include <stdlib.h> #include <string.h>
#define LEN_NULLBYTE 1
//char* ptr; int myText(char* txt);
int main() { char* ptrText = NULL; // Rückgabeparameter deklarieren. int ret = myText(ptrText);
printf("%p\n", ptrText);
free(ptrText);
getchar(); return 0; }
int myText(char* ptrText) { //Hier text evt. aus anderen Quellen einlesen und zusammenbauen. //Rückgabeparameter ptrText soll text sein. char *text = "Na das ist ja toll.";
int lenText = strlen(text) + LEN_NULLBYTE; ptrText = (char *)malloc(lenText); strcpy_s(ptrText, lenText, text); return 0; }
|
|