Skocz do zawartości
madzienka

Stringi W C

Rekomendowane odpowiedzi

Hej mam taki problem: pisze program, ktory zapisuje dane podawane z klawiatury (i sprawdza pewne zaleznosci miedzy nimi). Czy jest mozliwe, aby po wpisaniu na ekranie ciagu znakow, np imienia z klawiatury zapisac go do tablicy znakow o rozmiarze podawanego stringu (dynamiczna alkoacja tablicy?)? Np. program wyswietla komunikat : "Podaj imie", uzytkownik wprowadza to imie np. "Magda" , a program zapisze je do tablicy o rozmiarze 5? Jak tak to jak to zrobic??

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Trzeba sprawdzić rozmiar stringu, dynamicznie zaalokować tabliće i gotowe. Do sprawdzania rzmiaru bodajże sizeof() a dynamicznie alokuje się tablicę za pomocą operatora NEW w taki sposób:

typ *nazwatablicy = new typ[jakaszmienna] ;

I na końcu prgoramu zwolnienie pamięci

delete nazwa[];

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Sprawdź długość stringu np. tym:

int lenght(char napis[]) {	int i;	for (i = 0; napis[i] != '\0'; i++);	return i;	}
a potem stwórz tablicę o rozmiarze zwróconym przez tą funkcję. Reszta chyba podobnie jak pisał Guardian_McLeavy, tylko nie wiem jak będzie ze zwolnieniem pamięci (dopiero zaczynam w C :) ). Edytowane przez shaqal

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

chyba najlepiej najpierw wdczytac stringa do stałej tablicy - bufora.. powiedzmy na 100 znaków.. potem sprawdzić ile jest wcyztanych tych liter... i mallockiem zaalokować tyle ile potrzeba...

 

operator new pochodzi chyba z C++...

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...