was ist der Grund, weshalb ich die internen list-Einträge verändern kann, wenn ich sie kopiert habe,
aber nicht, wenn ich auf die externe vorbelegte list nur per Pointer verweise?
Code:
char * mlist0[11] = {"Titel 0","Zeile1","zu menu02>","Zeile3","Zeile4","Zeile5"};
tMenu menu0(6,11, (char**)mlist0, &menu0); // numEntries, lineLength, preMenu (N/A);
Code:
protected:
void parselist(int line) {
bool issub=false;
int len=strlen(list[line]) ;
if(len<1) {
list[line][0]='#'; // min len=1
list[line][1]='\0';
len=1;
}
for(int k=len-1; k<LINELEN-1; k++) {
if(k>0 && list[line][k]=='>') {
issub=true; // styling when submenu
list[line][k]=' ';
}
if(k>0 && list[line][k]<' ') list[line][k]=' ';
}
if(issub) list[line][LINELEN-2] = '>'; // if '>' to the end
else list[line][LINELEN-2] = '.'; // default: '.' to the end
list[line][LINELEN-1] = '\0'; // cstring terminator
}
Lesezeichen