Ono to neni ošetrené. To bolo brané tak, že to bude max jedno slovo o dlžke 9. Ináč by som dal
cin.getline(slovo, 10);
Myslíš strcpy / strncpy ? Ja som to tam robil pre string, čo bolo zle.
Takže by som to dal strcpy(temp[i], slovo);
Příspěvky odeslané z IP adresy 188.112.123.–
Filip
Filip
Chcel by som sa ujistiť, či mám dobré myslenie v danej veci
char *temp[] = {"Januar", "Februar", "Marec", "April", "Maj", "Jun", "Jul", "August", "September", "Oktober", "November", "December"};
Tento kód mi vytvorí "12 riadkov v pamäti ". Pre * nemusím alokovať žiadne miesto, pretože každý reťazec má pridelenú adresu v pamäti, takže si to doplní sám.
char *temp[5];
char slovo[10];
int i = 0;
while(i < 5){
cin >> slovo;
temp[i] = new char[strlen(slovo) + 1];
temp[i] = slovo;
cout << temp[i++] << endl;
}
Tento kód mi vytvorí v pamäti 5 riadkov a na každý riadok vytvorí smerník, ktoré je potrebné vytvoriť v pamäti miesto podľa zadaného slova.
char slovo[10];
int i = 0;
char **temp = new char*[5];
while(i < 5){
cin >> slovo;
temp[i] = new char[strlen(slovo) + 1];
temp[i] = slovo;
cout << temp[i++] << endl;
}
Tento kód mi vytvorí smerník na smerník, kde je treba vytvoriť v pamäti n smerníkov. Následne je ešte potrebné každému smerníku vytvoriť požadované miesto v pamäti.
Chcel by som sa teda spýtať, či mám kódy dobre, či nerobím niekde chybu (aj v uvažovaní). Dík