Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 30 mar 2026, o 19:40


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 8 ] 
Autor Wiadomość
PostNapisane: 17 lut 2017, o 09:54 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 31 sty 2015
Posty: 182
Pomógł: 0

Witam
Próbuję połączyć dwa stringi w taki sposób aby dopisać zero do początku stringa.

Funkcja z biblioteki string.h o nazwie strcat pozwala mi dopisywać ale na koniec stringa. Dla przykładu:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


W ten sposób otrzymam tekst "230" a ja chciałbym aby odwołując się do str1 zwracane było "023". Jak to zrobić ? :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 lut 2017, o 09:59 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27450
Lokalizacja: Szczecin
Pomógł: 1045

Po pierwsze to STRASZLIWIE kręcisz ;) no aż mi ciarki po plecach przeszły jak zacząłem czytać początek i oczom własnym nie wierzę

"jak na początek stringa dodać ZERO"

No jaki cel żeby dodać zero na początku - toż to znaczy, że chcesz można powiedzieć SKASOWAĆ stringa bo zero go kończy a więc będzie miał długość zero

dopiero później czytam, i konstatuję, że dla ciebie ZERO jako znak ASCII nie różni się w słowach niczym od ZERO jako bajt o wartości = 0 czyli NULL ;)

Panie kochany - panie kochany ;)

Ty chcesz dodać ZNAK ASCII cyfry ZERO na początek stringa a nie dodać ZERO na początek stringa i polecam nie tylko tak o tym pisać ale samemu myśleć w ten sposób to szybciej się nauczysz tych rzeczy

Dobra wiemy już co chcesz dodać ;) no to zobacz pan ;)

może tak:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


i już masz ;)


Autor postu otrzymał pochwałę

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 lut 2017, o 10:03 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 31 sty 2015
Posty: 182
Pomógł: 0

Bardzo dziękuję :) oczywiście chodziło mi o znak ASCII na początku :) Krótko mówiąc cel jest taki że to zero będzie dodawane jako część ułamkowa z wyniku napięcia, kiedy np. będzie ono wynosiło 9,045 V :)
Oczywiście jak teraz patrzę na rozwiązanie, które mi pokazałeś to sprawa wydaje się banalnie prosta :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 lut 2017, o 12:41 
Offline
Użytkownik

Dołączył(a): 10 lip 2015
Posty: 334
Pomógł: 32

Chodziło ci o coś takiego?

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 lut 2017, o 12:44 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 31 sty 2015
Posty: 182
Pomógł: 0

Wielkie dzięki :) Bardzo się przyda.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 lut 2017, o 12:49 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27450
Lokalizacja: Szczecin
Pomógł: 1045

możesz też użyć funkcji sprintf() z formatowaniem ładnym jeśli masz miejsce w procku i już w ogóle będzie miodzio ;)

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


albo jak masz skleić dwie wartości to

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


tzn tak z pamięci piszę to formatowanie ale powinno zdaje się tak wyglądać dodawanie zer nieznaczących ;)

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 lut 2017, o 13:21 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 31 sty 2015
Posty: 182
Pomógł: 0

Nie ma problemu z pamięcią bo na pokładzie ze względu na to, że mój woltomierz ma także możliwość zapisu danych na kartę micro SD (a biblioteka z GB do SD zajmuje troszkę miejsca) oraz kilka innych bibliotek jak MK_USART, LCD czy TWI - wstawiona jest ATmega644P(A). Wcześniej aby uzyskać te zera nieznaczące robiłem to wszystko trochę naokoło no ale wszystko działa poprawnie. W wolnej chwili może troszkę "ulepszę" kod programu stosując się do powyższych porad. Jeszcze raz dzięki Panowie :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 lut 2017, o 13:59 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27450
Lokalizacja: Szczecin
Pomógł: 1045

Nawet jakbyś miał pozostawić "swoje naokoło" ... bo skoro działa to co temu przeszkadza - to i tak pobaw się sprintf() żeby zobaczyć jak działa i się czegoś nowego na przyszłość nauczyć

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 8 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO