bezposrednio nie jest to mozliwe tak jak ze zwroceniem wartosci liczbowej. funkcja w c moze zwrocic tylko JEDNA wartosc. moze zwrocic wskaznik - czyli jakby poczatek tego stringa. tyle ze zaalokowane wewnatrz funkcji zmienne po jej zakonczeniu sa zwalniane i nalezy zalozyc, ze przestaja istniec. oczywiscie wiadomo, ze przez chwile cos tam na tym stosie...
W przypadku bibliotek dynamicznych, jak wcześniej pisałem, trzeba zrezygnować z tak wysokiego poziomu abstrakcji na rzecz WinAPI i najlepiej standardów przekazywania parametrów zgodnych z Windows (nie z Delphi), szczególnie tyczy się to stringów. W przypadku funkcji graficznych, jak wcześniej pisałem, trzeba operować na DC obiektów i rysować z użyciem...
Dziwią mnie te pierwsze porównania - w kółko porównujesz ciąg pusty z "I'm from clothespins, " Następnie dwa sensowne i znów to samo... Coś nie tak ewidentnie. Wniosek 1: Funkcja porównująca jest ok. Parametry doń przekazywane - niebardzo. To jeszcze jedno... Zapisz wyświetlanie całej tablicy ze stringami na początku każdego przebiegu pętli przeszukującej...
A przekazywanie typu Pchar nie działa? Zmień stringi na Pchar i nic w strukturze programu sie nie zmieni. Pchar tez jest formą wskaźnika.
Te rekordy są stałej czy zmiennej długości? Czy znana jest ich ilość? Generalnie, przekazując z/do dll dane można to na kilka sposobów zrobić. Najczęściej preferowany przez MS, to odpytanie DLL o to, ile danych potrzebuje (jeśli nie jest to stały rozmiar), rezerwacja pamięci i przekazanie wskaźnika do tego obszaru, w którym DLL zapisuje, a caller sobie...
Pytańko:) Zapisałem do pliku cztery zmienne typu String. Chce je teraz odczytać. Otwieram plik do odczytu. Następnie odczytuje. Ale niewiem jak zrobić żeby odczytane wyrazy nie były przekazywane bespośrednio na ekran. Tylko do zmienych typu "String" zadeklarowanych w funkcji odczytującej. Zamykam. - arnoldziq
Bardzo proszę ponownie o pomoc bo znowu mam problemy z prawidłowym przekazywaniem zmiennych i obiektów funkcjom poza C. Otóż w programie main chcę zdefiniować tablicę w której jeszcze nie wiem ile będzie stringów (słów), wiem tylko że będzie takowa tablica. I potem ją chcę przekazać do funkcji poza main, gdzie dopiero zostanie określona liczba tych...
Ponieważ jak przekazujesz string przez wartość to następuje kopiowanie (przydzielanie dodatkowej pamięci itp). Owszem przed C++x11 implementacja stringów przeważnie to eliminowała (w niektórych kompilatorach) od C++x11 już nie ma prawa tego robić.
Na moje początkowe pytania odpowiedź jest prosta: CCS nie obsługuje przekazywania const w niektórych funkcjach.. Od początku szukałem sposobu na znalezie obejścia problemu. Teraz mam kolejny kłopot: obsługa kart SD biblioteką mmcsd.c w której funkcja mmc_init() zawsze zwraca to samo bo tak jest napisana!. Ale to już temat na osobny wątek...
Ty nie masz wiedzieć, jak działa funkcja. Ona działa po swojemu, a Ty dostarczasz jej tylko odpowiedzi na pytanie, który z dwóch elementów jest większy (a ściślej: jaka jest relacja pomiędzy tymi dwoma elementami). To właśnie realizuje przekazywana funkcja. Jak będzie to random, to ustort zrobi wylosowaną tablicę. A zwracać możesz wartość mniejszą niż...
Nie jestem asem, jesli chodzi o programowanie, ale chyba przekazujesz do funkcji caly string, a funckcja jest nastawiona na odebranie pojedynczego znaku. Sproboj wywolac funckje z jednym znakiem jako argument. Dla wiekszej ilosci znaków niż 1 bedziesz musiał działac na wskażnikach...
Bo nie przekazuj w Bascomie stringów jako stałych "byval" to marnotrastwo pamięci , stosu itp. Najlepiej w ogóle jak doszedłem z doświadczenia jak najmniej parametrów przekazywać jako "byval" lepiej jak już to poprzez referencje "byref" - a najmniej pamięci ci zje jak będziesz posługiwał się zmiennymi globalnymi. Tego zjawiska doświadczych, gdy program...
Nie chcę przekazywać stringów do funkcji bo to bez sensu żeby funkcja za każdym razem je konwertowała na swoje potrzeby. Chcę je raz odczytać, wsadzić odpowiednie wartości do struktur i funkcje będą sobie do nich sięgać. Generalnie już mam w głowie pomysł na to. Nurtuje mnie tylko jedna kwestia, mam taki kawałek kodu: /* Create tasks */ /* Function...
wielkie dzięki za sugestie, w związku z tym, że dopiero intensywnie uczę się Bascoma, to dlatego nie zawsze jeszcze jestem w stanie na szybko doszukać się odpowiednich poleceń w helpie jak podany przez ciebie Instr ;) również odnośnie tych paramterów $hwstack, $swstack, $framesize i ustalania ich wartości nie jestem jeszcze w pełni świadomy jak z nich...
Witam, zakładam nowy temat, bardzo proszę o pomoc. Poradziłem juz sobie z samą biblioteką DLL w Delphi a teraz chciałbym wykorzystać jedną z funkcji ale w C++ Bulider. funkcja w DLL napisanym w Delphi ma taką definicję: function ScanStrSP(var Text: PChar; Sep: PChar): PChar; stdcall; i wyeksportowana jest nazwa ScanStrSP . Gdy korzystam z niej w Delphi...
chcę osiągnąć coś takiego: Declare Function Set_by_spi(co As String*10 , Wartosc*40 As String , Procesor As Byte) As Byte A co to za zmienna Wartosc*40 ? Poza tym zmiennych w parametrach się nie wymiaruje. Wszystko dlatego, że w przekazywaniu parametrów uczestniczą tylko wskaźniki do zmiennych. Nie użyłeś ByVal więc kompilator przekaże 16-bitowy...
na przykład C oprócz zwykłej tablicy istnieje także statyczna czysta tablica. Co to ma wspólnego z kodem który wrzuciłeś? nie wolno też zakładać że tablica będzie w 2 miejscach(wskaźnik na stosie i reszta na stercie). Tablica jak powyżej nie trzyma nigdy żadnego wskaźnika, tylko liczba_elementów * rozmiar_elementu. const* char Chyba const char* xxx...
USART to nie USB czy ETH gdzie dostajesz bardzo często całą ramkę danych, np w ETH ok 1400znaków, USB1.1 8 znaków, USB2.0 64 czy nawet 1kB jeśli mamy na myśli klasę CDC. W USART, dane napływają znak po znaku. (w USB czy ETH też ale użytkownikowi przekazywana jest większa porcja danych po zweryfikowaniu CRC i ewentualnych powtórzeniach transmisji). [syntax=c]Serial1.available()[/syntax].....
Dane w trakcie wykonywania operacji na nich są przechowywane w liście jednokierunkowej opartej na STL'u (plik nagłówkowy "list"). Lista operuje na typie strukturalnym "dane". Ciągi znakowe zapisuje przy użyciu polecenia [syntax=cpp] getline(cin,element.imie_nazwisko); [/syntax] i przekazuję dane do listy poleceniem nazwa_listy.push_back(element). Gdy...
Witam. Chciałbym zasięgnąć porady odnośnie funkcji przesyłającej string poprzez UART, gdzie z jakiegoś powodu ciąg znaków przechowywany jest w pamięci RAM procesora AVR, a nie w pamięci FLASH. Dla przykładu poniższa funkcja działa jak należy i rozmiar zajętości pamięci RAM pozostaje bez zmian a więc string przechowywany musi być w pamięci FLASH. [syntax=c]uart_puts("NAPIS...
Witam, Zmontowalem sobie zabawke w postaci atmega162, 2 porty usart i lcd. Chwilowo dziala to w takiej konfiguracji ze z terminala podlaczonego przez ustart0 wydaje komende ktora jest przekazywana na usart1 do telefonu komorkowego a wynik jej wykonania ma sie wystwietlic na lcd. Oczywiscie predkosci wszystkie sa ustawione OK, F_CPU tez, 9600 dla COM...
(...) (2) + " PLN" }; } return msg; } else { node.warn("Brak danych do obliczeń! Upewnij się, że msg zawiera rce_pln i Wh jako liczby."); return null; } Mam taką funkcję która oblicza Wh i cenę rce_pln ale razem z wynikiem zwraca błąd i nie wiem dlaczego. (at)ElektrodaBot Bezpośrednia odpowiedź na pytanie Najczęstszym powodem zwracania błędu „Ujemna...
1. Przede wszystkim pobierz sobie "na stół" string z pliku. Robi to poniżej funkcja GetString(): #include <iostream> #include <fstream> #include <string> using namespace std; void PutString(const string & filename, string output); string GetString() { ...ifstream plik ("noe.txt"); ...string ourString, stringuniek; ...while (!plik.eof()...
Witam ponownie! Spróbuję odpowiedzieć. Ad 1) Funkcja fscanf ogólnie działa następująco: przede wszystkim jako parametry podaje się WSKAŹNIKI do zmiennych w których mają być umieszczone odczytane dane. Jest to zupełnie coś innego od zwracania danych w "klasyczny" sposób. A w ten "klasyczny" sposób funkcja fscanf zwraca ilość przeczytanych znaków a w...
Proszę o pomoc z poprawieniem kodu, którego zadanie jest stworzenie prostego kalkulatora pracującego w odwrotnej notacji polskiej. Na przykład: 3 56+ 2* czyli (3+56)*2. Czy może ktoś poprawić funkcję stod, żeby działała poprawnie, tzn. konwertowała przekazany jej string na liczbę typu double? W programie najpierw wczytywany jest string. Potem kolejne...
Deklaracje są. Inna biblioteka, która będzie używała te dane akceptuje niestety Stringi, dlatego ta cała kombinacja ze zmianą z char na String. W używaniu klasy String jako takiej nie ma nic złego, jest ona bezpieczna i łatwa w użyciu - niestety trzeba się liczyć z większym zużyciem pamięci. W środowisku Arduino dla procesorów AVR nie używa się standardowej...
sprintf(Text_1234, count); Może jednak przeczytaj dokładny opis funkcji sprintf i jakich wymaga argumentów? Takie wywołanie może Ci co najwyżej zajechać pamięć.
assign(plik,'c:\docume~1\admini~1\pulpit... Nie rozumiem problemu : Czy problem to utworzenie tych że dokumentów. Czy też przekazanie do programu informacji ile ich utworzyć Bo jeśli pierwszy problem to rozwiązanie jest trywialne. assign(plik,sciezka); Gdzie sciezka to zmienna tworzona kolejno dla każdego pliku w programie I wtedy kłaniaja...
Witam ponownie. Dziekuje za wszystkie pomocne odpowiedzi, chociaz nie potrzebnie moje pytanie zostalo zinterpretowane odnosnie tego ze potrzebuje jakiegos sprzetu. Nie pytalem o sprzet, chodzilo mi bardziej o metodologie programowania takiej komunikacji, jak napisac taki software aby mogl przeslac zmienne do eeprom i je zapisac. Tym razem zapytam konkretniej....
Autorze, dałem Ci gotowe rozwiązanie, ale nie czytałeś mojego postu uważnie. Nie czytałeś też dokumentacji ( MojaPolskieZnaki18_Bitmaps . Aby wyświetlić tekst funkcją MojaPolskieZnaki18_Glyphs 90(*) wiersz, gdyż tam znajdują się informacje o tym, gdzie w pliku MojaPolskieZnaki18_Bitmaps znajduje się obraz literki "Z". * - 90 wiersz, a właściwie, to...
To co napisałeś spowodowało, że przypomniałem sobie o tym, iż na liście rozkazów procesora jest dynamiczna wersja put/get fsl, w której podaje rejestr zawierający Id portu. To w zasadzie rozwiązuje sprawię - tak mi się przynajmniej wydaje. Inną kwestią jest, że to nie jest to o czym myślałem od początku. Może zrobimy tak, opiszę co chciałbym osiągnąć,...
w Zamien miałeś przekazać w parametrach referencje do obiektów, a nie stringi. Podandto funkcji (metodzie) nie możesz przypisywać wartości - metody się wywołuje.
tymon_x działa ale jak byś mi mógł jeszcze wytłumaczyć dlaczego tablica buf jest 3 elementowa ? buf A skąd ci się teraz wzięła tablica 3 elementowa ? przecież tymon_x nic nie pisał o tym. Podał ci tylko dobry sposób jak sobie wyświetlić pojedynczy znak z całej twojej tablicy jednej czy drugiej. Tablica w przykładzie kolegi tymon_x jest przecież 2 elementowa...
bez gwiazdek char *napis[10] = {"HELLO"}; -> to jakies ufo - wskaznik na tablice ewentualnie tablica wskaznikow [; powinno byc: char napis[]="HELLO"; LCD_WyslijLitery(*napis); -> kolejne ufo (podstawy c), do funkcji powinienes przekazac adres pierwszego elementu, a tak sie sklada, ze nazwa tablicy jest wskaznikiem na pierwszy element, czyli: LCD_WyslijLitery(napis);...
Chcesz pisać w C++, pisz w C++. W tej chwili próbujesz koniecznie użyć operacji na napisach stosowanych w języku C (tablice znaków). Napisy w C++ reprezenuje typ Po pierwsze: nie używaj zmiennych globalnych. Po drugie: żeby zainicjować "tablicę w funkcji stringiem" musisz skopiować ją znak po znaku w miejsce wkazane przez parametr funkcji, np. za pomocą...
Mam taki problem że nie mogę przekazać tablicy do funkcji. W mojej funkcji nie mogę operować na tablicy? Gdzie robię błąd? Kompiluje sie ale wywala konsole Mi nie udało się skompilować w takiej formie jak podałeś. A po niewielkich poprawkach ruszyło, poczytaj proszę o tablicach i wskaźnikach. void wczytaj_plik(char* tab[][16])...
Witam Mam dosyć spory problem z parsowaniem tekstu, mianowicie użytkownik może w terminalu wpisać sobie taką o to składnie. Silnik 3,5;Silnik 5,25;Silnika 7,45; Ma to podzielić na "Silnik 3,5" , "Silnika 5,25" itp; Robię to w następujący sposób: -gdy z USARTa przychodzi ciąg znaków zakończonych znakiem '\0' wychodzi do przerwania gdzie tworzona jest...
1. Jak jest zdefiniowane float32_t? 2. Literał 2.4567 jest domyślnie typu double. Użyj 2.4567f. 3. W jaki sposób odczytujesz wartość przekazywaną do funkcji? 4. W jaki sposób wykonujesz konwersję do stringa?
Liczby 2, 4 i 7 wynikają z tego, że przedstawiony kod to wycinek z innego kodu, gdzie te wartości mają sens. Co do konkatenacji dwóch stringów to nie umiem jej zrobić za pomocą strcat - miło by było gdybyś ktoś mi pokazał.
W nawiązaniu do porad kolegi tmf proponowałbym coś w tym stylu (być może strach przed kwalifikatorem __flash wynika z braku przykładów kodu :?: : [syntax=c] // przykład jak używać kwalifikatora __flash do umieszczania // danych w pamięci programu i jak się do nich odwoływać // kod gotowy do odpalenia w symulatorze Atmel Studio 6 // można zaobserwować...
Miałem program na ESP, który czasami się restartował (kilka razy na dobę). ESP współpracowało z SIM800. Uznałem, że winą są zakłócenia z GSM. Musiałem jednak poprawić program i restarty były niemal cały czas. W końcu ustaliłem, że problem wynika ze zwracania "String" jako rezultat funkcji - powinno działać, a nie działa. Rozwiązałem problem rezygnując...
(...) W ogóle przedstawiony problem jest bez sensu. Po co w ogóle autorowi taka konstrukcja txt To jest rzeczywiście bez sensu ale pierwotnie funkcja modyfikowała (-32 od każdego znaku) stringa przed wyświetleniem a txt[0] = 0 powstało po uproszczeniach funkcji w celu znalezienia problemu.
AD 1. Możesz zrobić np tablicę 10 wskaźników na chary i tam wpakować swoje stringi. Pamiętaj, że string charakteryzuje się tym, że ma na końcu zawsze null terminator i nie musisz znać długości stringa żeby cokolwiek z nim zrobić. Czemu w ogóle chcesz to rozwiązać tak śmiesznie ? Tzn tablica globalna stringów + jakaś funkcja, która na niej operuje zwracając...
http://obrazki.elektroda.pl/3234430100_1... W Podatność na wstrzykiwanie komend Jedną z częstszych i łatwych do odnalezienia dziur jest podatność na wstrzykiwanie komend poprzez np. interfejs użytkownika. Sama idea tego ataku jest prosta – załóżmy, że podajemy gdzieś tekst, który następnie wykorzystywany jest do skonstruowania...
Prawie dobrze, ale mylisz się w indeksach - do dubb powinieneś przekazywać drugi znak danego stringu, a nie pierwszy - stąd nieskończona pętla w pierwszej gałęzi kill. Poza tym po kill powinieneś wywołać rekurencyjnie tylko raz - dla pozostałej części stringu. Funkcja którą próbujesz napisać jest łatwo wyrażalna za pomocą redukcji - postaraj się ją...
Dziękuję za wszystkie podpowiedzi. Spróbuje z DMA. Na początek cały kod: odebrane przy pomocy funkcji HAL_UART_Receive_DMA, po czym wysyłam (niejako przekazuje) to co odebrałem z UART1 do UART6. Program działa tak, że funkcja HAL_UART_Transmit_DMA(&huart6, odebrane, 2); wysyła mi przez UART6 nie "OK" tylko "AT". Dlaczego? [syntax=c]void HAL_UART_RxCpltCallback(UART_HandleTypeD...
Napisałem poniższą funkcję do konwersji liczby typu float na stringa, który go reprezentuje. W symulatorze AVR Studio sprawdziłem czas takiej konwersji przy zegarze 16MHz i wyniósł on ok 500µs. Czy ma ktoś pomysł jak bardziej zoptymalizować tą funkcję? Inna sprawa to optymalizacja wykorzystywanej pamięci, bo w tej chwili wykorzystuje jeśli poprawnie...
hmm a nie lepiej zrobic funkcje ? przynajmniej do zamiany rzymskich na arabskie ... bo inaczej bedziesz mial ciezej bo bys musial chyba wskazniki to mieszac, bo procedura normalnie nie zwraca wartosci.... Jezeli wynik dzialania kalkulatora nie musi byc zapamietywany to zamiane arabskich na rzymskie i kalkulator moga byc procedurami... function na_arabskie(rzymska:...
Udało się!!! [syntax=c] if(client.connect(serverip,80)) { Serial.print("ok "); client.print( "GET /index.php?"); client.print("parametr="); client.print( temp ); client.println( " HTTP/1.1"); client.print( "Host: " ); client.println(serverip); client.println(); client.println(); while (client.connected()) { if(client.available()) { char d= client.read();...
Napisz to w C, będzie łatwiej o ile czujesz się na siłach. Zacznij od int main(int argc, char* argv[]) argv[1] to namiar na gcc.exe argv[2] aż do argv[argc-1] to parametry przekazane do gcc. Jeden z nich to namiar pliku .cpp który musisz zmodyfikować. Upraszczając szukanie możesz sprawdzić czy argv[x] kończy się na ."cpp", w końcu to...
stringi funkcja funkcja stringi przekazywać tablica funkcja
volvo silnika iphone gubić zasięg programowanie zegara licznika
diagbox peugeot bateria milwaukee
Findent unit – żarówka 24V wymieniona, lampa nie świeci – diagnostyka i typowe usterki Audi A4 B6 1.8T AMB - trudności z odpalaniem