Ik ben nu al te lang bezig om het te laten werken .. maar het lukt me maar niet.
Helpt u mij alstublieft
Wat ik hieruit krijg is dit:
Helpt u mij alstublieft
C:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
| #include <stdio.h> #include <stdlib.h> //Reallocate to size, if fails, then free, otherwise copy the string void realloc_strncpy(void * pMemory, const char * sData) { void * pResult = (void *) NULL; size_t sizeLength = (size_t) strlen((const char *) sData)+1; //Deze realloc zou in dit geval natuurlijk een malloc moeten zijn, //alleen als alles straks een beetje werkt dan realloc ik hier pMemory ipv pResult pResult = (void *) realloc((void *) pResult, (size_t) sizeLength); if(pResult != (void *) NULL) { pResult = (void *) strncpy((char *) pResult, (const char *) sData, (size_t) sizeLength); pMemory = (void *) pResult; printf("pMemory -> (geheugen adres): %d\r\n",(void *) pMemory); printf("pMemory (string): \"%s\"\r\n",pMemory); } else { free((void *) pMemory); pMemory = (void *) NULL; } } int main(void) { const char * sTest= "Internal Server Error"; void * pTestpointer = NULL; printf("pTestpointer -> (geheugen adres): %d\r\n",(void *) pTestpointer); realloc_strncpy((void *) &pTestpointer, (const char *) sTest); printf("pTestpointer -> (geheugen adres): %d\r\n",(void *) pTestpointer); printf("pTestpointer -> (string): \"%s\"\r\n", (char *) pTestpointer); system("pause.exe"); return 0; } |
Wat ik hieruit krijg is dit:
code:
1
2
3
4
5
| pTestpointer -> (geheugen adres): 0 pMemory -> (geheugen adres): 3280920 pMemory (string): "Internal Server Error" pTestpointer -> (geheugen adres): 0 pTestpointer -> (string): "(null)" |