Dynamicke pole na string – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Dynamicke pole na string – C / C++ – Fórum – Programujte.comDynamicke pole na string – C / C++ – Fórum – Programujte.com

 

mustafa
~ Anonymní uživatel
27 příspěvků
5. 1. 2009   #1
-
0
-

Ahojte,
potreboval by som poradit, ako deklarujem a alokujem dynamicke pole v C na retazec.
Cize potrebujem nieco taketo:



pole_string[0] -> char[2]
pole_string[1] -> char[2]
pole_string[2] -> char[2]
...
pole_string[x] -> char[2]


Cize potrebujem alokovat x riadkov na retazec o velkosti 2 znakov. Ako potom pristupim ku danemu polu?
Dakujem :)

Nahlásit jako SPAM
IP: 78.99.75.–
mustafa
~ Anonymní uživatel
27 příspěvků
5. 1. 2009   #2
-
0
-

Dodam, ze
cislo x nepoznam pocas prekladu.
Dik

Nahlásit jako SPAM
IP: 78.99.75.–
joe
~ Anonymní uživatel
62 příspěvků
6. 1. 2009   #3
-
0
-

Alokace pole a jeho položek:

int x;

char **pole_string;

x = 10;
pole_string = malloc(x * sizeof(char *));
for (i = 0; i < x; i++)
pole_string[i] = malloc(2 * sizeof(char));

Přístup k položkám pole:
for (i = 0; i < x; i++) {

printf("%d: %d, %d\n", i, pole_string[i][0], pole_string[i][1]);

char *str = pole_string[i];
printf("%d: %d, %d\n", i, str[0], str[1]);
}

Uvolnění alokované paměti:
for (i = 0; i < x; i++)

free(pole_string[i]);
free(pole_string);

Nahlásit jako SPAM
IP: 213.211.51.–
joe
~ Anonymní uživatel
62 příspěvků
6. 1. 2009   #4
-
0
-

Teď mě napadá, že by se to dalo napsat ještě jinak (jeden malloc), ale tohle je základ, se kterým si vystačíš vždycky :smile1:

Nahlásit jako SPAM
IP: 213.211.51.–
mustafa
~ Anonymní uživatel
27 příspěvků
6. 1. 2009   #5
-
0
-

Urobil som to prasne ako si napisal.
Takze budem mat problem niekde inde.

Ak dam strstr(pole_string1[i], pole_string2[i]) (v cykle), tak strstr mi VZDY vrati NULL.
pole_string1[i] a pole_string2[i] mam nacitane pocas behu programu.

Kde moze byt chyba?
Dik.

Nahlásit jako SPAM
IP: 78.99.75.–
joe
~ Anonymní uživatel
62 příspěvků
7. 1. 2009   #6
-
0
-

Těžko říct. Uploadni to na pastebin (nebo jinam) a hoď sem link a já na to mrknu.

Nahlásit jako SPAM
IP: 213.211.51.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 56 hostů

Podobná vlákna

Dynamicke pole — založil george6565

Ne/dynamicke pole — založil cecilconrad

Dynamicke pole — založil Earl Cash

Soubor v C dynamicke pole — založil risakczex

Dynamicke 2rozmerne pole — založil light_c_programator

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý