[C] tablica string (char)

maciej88
Użytkownik
Użytkownik
Posty: 1
Rejestracja: 26 cze 2009, o 14:59
Płeć: Mężczyzna
Podziękował: 1 raz

[C] tablica string (char)

Post autor: maciej88 »

Witam,
czy istnieje w c jakaś metoda zapisu danych string do tablicy (wiem, że da się to bardzo prosto zrobić w c++)

z góry dzięki
Awatar użytkownika
argv
Użytkownik
Użytkownik
Posty: 569
Rejestracja: 27 maja 2009, o 01:27
Płeć: Mężczyzna
Podziękował: 51 razy
Pomógł: 66 razy

[C] tablica string (char)

Post autor: argv »

W C nie ma string wiec nie wiem o co chodzi
Byc moze chodzi Ci o to:

Kod: Zaznacz cały

http://www.cplusplus.com/reference/string/string/c_str/
spajder
Użytkownik
Użytkownik
Posty: 735
Rejestracja: 7 lis 2005, o 23:56
Płeć: Mężczyzna
Lokalizacja: Łódź
Podziękował: 2 razy
Pomógł: 133 razy

[C] tablica string (char)

Post autor: spajder »

W C++:

Kod: Zaznacz cały

string tab[10];
w C:

Kod: Zaznacz cały

char **tab = (char**) malloc(10*sizeof(char*));   // tworzymy tablice na 10 napisow
int i;
for(i = 0; i < 10; i++)
{
    tab[i] = (char*) malloc(10*sizeof(char));       // tworzymy napis maksymalnie 19 literowy - 20 znak to zawsze 0
    tab[i][0] = 0;     // żeby automatycznie były puste napisy - jeśli nie to w pamięci będą śmieci
                           // jest to krok opcjonalny
}

// tutaj operujesz na napisach

// i trzeba je usunąć
for(i = 0; i < 10; i++);
    free(tab[i]);                         // usuwanie każdego elementu tabeli
free(tab);                            // usuwanie tabeli
Obydwa fragmenty kodu pracują na 10 elementowej tablicy napisów - w pierwszym wypadku nie masz (prawie) ograniczeń co do długości napisu, w drugim max 19 liter (możesz zmienić sobie w kodzie jak chcesz).

Swoją drogą porównanie ilości kodu wypada ciekawie

Jakby coś nie działało pisz, nie wklepywałem w kompilator

[edit]
no tak, w C nie ma new i delete.. poprawione
ODPOWIEDZ