madzienka Opublikowano 14 Marca 2006 Zgłoś Opublikowano 14 Marca 2006 Mam taki problemik: deklaruje tablice znaków: char pesel[11]; zapisuje pod zmienna pesel 11-cyfrowy numer PESEL: scanf("%s",pesel); i potrzebuje wyjąć przedostatnią cyfrę z numeru PESEL, ale jak próbuje to zrobić w ten sposób: int c=atoi(pesel[9]); to przy komiplacji wyskakuje mi błąd 'invalid conversion from char to const char*' Mogłby mi ktos pomóc i powiedzieć co robię nie tak? Lub ewentualnie jak to w inny sposób zrobić? Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Guardian_McLeavy Opublikowano 14 Marca 2006 Zgłoś Opublikowano 14 Marca 2006 (edytowane) http://www.cplusplus.com/ref/cstdlib/atoi.html Wysyłasz do funkcji char, a one chce wskaźnik bodajże. Ale chcesz ją wyciągnąć, i wstawić w jej miejsce ostatnią? No to chyba jest proste :-) Edytowane 14 Marca 2006 przez Guardian_McLeavy Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
cyrkiel Opublikowano 14 Marca 2006 Zgłoś Opublikowano 14 Marca 2006 scanf("%s",pesel);char x = pesel[9];int c=atoi(&x); Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Sam Sung Opublikowano 16 Marca 2006 Zgłoś Opublikowano 16 Marca 2006 scanf("%s",pesel);char x = pesel[9];int c=atoi(&x); Fatalny błąd - przekazujesz stringa bez zera kończącego... Może lepiej tak: int c = pesel[9] - '0'; albo ewentualnie tak: char x[2];x[0] = pesel[9];x[1] = 0;c = atoi(x); Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...