• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Zmiana tablicy char na inty

Mały hosting, OGROMNE możliwości
0 głosów
433 wizyt
pytanie zadane 24 stycznia 2021 w C i C++ przez muzyk Użytkownik (940 p.)
Witam serdecznie,

Niestety na co dzień nie zajmuję się za bardzo językiem C, jednak mam obecnie do zrobienia projekt, w którym pobieram tablicę char, w której znajdują się cyfry informujące o adresie IP karty sieciowej. Potrzebuję zamienić ten ciąg znaków (z pominięciem kropek pomiędzy) na pojedyncze chary w notacji szesnastkowej.

 

Wizualnie wygląda to tak, że w zmiennej zmienna[0], zmienna[1], zmienna[2] znajdują się kolejno znaki: '1','0','.'. Ja potrzebuje zamienić to na 0x0A; Niestety konwersja poprzez wstawienie (int)zmienna[0] nie zamienia mi '1' na 1 tylko na 49, a przy wpisywaniu -'0', czy -49 pojawiają się inne błędy zapisu.

Czy istnieje jakiś sposób zamiany takich znaków na pojedyncze bajty?
komentarz 24 stycznia 2021 przez Oscar Nałogowiec (29,360 p.)

Czyli w sumie masz adres IP w postaci ASCII. Można scanf, atoi albo od razu użyć funkcji z socket - inet_addr.

1 odpowiedź

0 głosów
odpowiedź 24 stycznia 2021 przez Michałełe Nałogowiec (25,600 p.)

Skonwertuj sobie tego char'a na wartość decymalną i wsadź ją do inta, a potem skonwertuj na system 16stkowy.

Niestety konwersja poprzez wstawienie (int)zmienna[0] nie zamienia mi '1' na 1 tylko na 49, a przy wpisywaniu -'0', czy -49 pojawiają się inne błędy zapisu.

Jakie dokładnie? Po odjęciu '0' lub 48 powinno śmigać.

Podobne pytania

+1 głos
2 odpowiedzi 2,532 wizyt
pytanie zadane 13 grudnia 2016 w C i C++ przez Kamyyylo Początkujący (460 p.)
0 głosów
2 odpowiedzi 1,161 wizyt
pytanie zadane 11 grudnia 2019 w C i C++ przez amtrax Dyskutant (9,630 p.)
0 głosów
3 odpowiedzi 643 wizyt
pytanie zadane 25 lutego 2016 w C i C++ przez igor1988bb Użytkownik (800 p.)

93,715 zapytań

142,629 odpowiedzi

323,260 komentarzy

63,257 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...