Ik heb een functie nodig die een char** retourneert, maar ik ben niet heel bekend met C++ en heb problemen met het vullen van een dynamische tweedimensionale array. Dit is een vereenvoudigde weergave van wat ik heb geprobeerd.
Ik maak gebruik van een functie die er zo uitziet:
char * getword(int);
En dit is de betreffende functie
Let even niet op de waarden en de werking van het programma, dit heb ik even ter plekke verzonnen om het te vereenvoudigen. Waar ik nu x heb ingevuld zijn dus variabele waarden.
Ik wil NEW gebruiken voor het alloceren van geheugen. Het probleem is dus dat ik niet weet hoe ik met new een meerdimensionale array alloceer.
Verder heb ik voor de strcpy geen "*test = new char[5]" gedaan omdat strcpy zelf al geheugen alloceert, correct me if i'm wrong.
De goede syntax is welkom!
Ik maak gebruik van een functie die er zo uitziet:
char * getword(int);
En dit is de betreffende functie
code:
1
2
3
4
5
6
7
8
9
| char** voorbeeld() {
char** test;
test = new char[x][x]; // FOUT DUS
for (i := 0; i < x; i++) {
strcpy(*test, getword(i));
test++;
}
return test;
} |
Let even niet op de waarden en de werking van het programma, dit heb ik even ter plekke verzonnen om het te vereenvoudigen. Waar ik nu x heb ingevuld zijn dus variabele waarden.
Ik wil NEW gebruiken voor het alloceren van geheugen. Het probleem is dus dat ik niet weet hoe ik met new een meerdimensionale array alloceer.
Verder heb ik voor de strcpy geen "*test = new char[5]" gedaan omdat strcpy zelf al geheugen alloceert, correct me if i'm wrong.
De goede syntax is welkom!