-
Thread
Hex in Binär umwandeln "C"
Hallo an alle, ich habe folgendes Problem: Und zwar müsste ich in C ein Programm schreiben. Ich empfange über TCP/IP einen String (zb. 0x000F). Diesen String möchte ich in einen "Binär"-String umwandeln: "0x000F" = "0000000000001111" Wie kann ich es hin bekommen
mit den Funktionen [c]atoi[/c] oder mit [c]strtol[/c] Letzere funktion (sollte) bevorzugt werden.
-
Thread
Datenpakete senden
vorangestellten Nullen ausgeben. http://www.nongnu.org/avr-libc/user-manual/group__avr__stdio.html#gaa3b98c0d17b35642c0f3e4649092b9f1 Z.B. unsigned int a=5,b=10,c=115; char string[13]; sprintf(string, "%04d%04d%04d", a, b, c); Der Output in string sollte so aussehen: 000500100115 Alternativ
Rücklesen am PC funktioniert über scanf mit der gleichen Formatanweisung wie das Senden. char string[13]; unsigned int a,b,c; Angenommen, die empfangenen Daten stehen in string sscanf(string, "%04d%04d%04d", &a, &b, &c); Dann stehen jetzt die Zahlen wieder in a, b und c. Grüße, Peter
-
Thread
AVR - Mal wieder ein Wecker
( hour ); lcdWriteString( " : " ); lcdWriteBcd( min ); } } [/c] Das funktioniert. Warum funktioniert das jetzt mit dem "uint8"? Gruß
lcdWriteString( ":" ); lcdWriteBcd( min ); } } } [/c]
-
Thread
while( ) >>> mit Bedingungen
Es gibt da durchaus zwei Ansätze: [c]char * SearchChar(char * String, char Char){ while((*String != '\0) && (*String != Char)){ String++; } return (*String == Char) ? String : NULL; }[/c] [c]char * SearchChar(char * String, char Char){ while(*String != '\0'){ if(*String == Char){ return String; } String++; } return NULL; }[/c] Ich bevorzuge die zweite Variante, obwohl das return innerhalb der Schleife ist (und somit
-
Thread
Formatierung von Strings
[c]sprintf(buffer, "A%04dB%04d\n", ad1, ad2);[/c]
Auf jeden Fall brauchst du aber ein C-Buch printf (mit all seinen Varianten) und was man damit im Format-String alles anstellen kann, sind Stoff der ersten paar Kapitel eines jeden C-Buchs. Die Ausrede "Bin Anfänger" ist keine Entschuldigung
-
Thread
verständnis problem Control.Invoke C#
= string.Format("{0:x2}", Message.chksum); TB_rx5.Text = string.Format("{0:x2}", Message.ende); } [/c] ich bekomme immer folgende Fehlermeldung: Ungültiger threadübergreifender
SetText(string text) { if (TB_rx1.InvokeRequired) { TB_rx1.Invoke(new MethInvDel(SetText), text); } else { TB_rx1.Text = text; } } [/c]
-
Thread
[C] Probleme beim auslesen von Strings
Schnittstelle an den PC senden. Die Kommunikation funktioniert auch im großen und ganzen, nur kommt von den Strings die ich im Programm angegeben habe nur Müll an. Ich habe verschiedene Möglichkeiten ausprobiert (Im flash speichern und auslesen, String einem globalen/lokalen pointer zuweisen, ...) aber das einzige
auf dem Terminal sieht etwa so aus: 4????'mnopqr Es werden also nur die Zeichenketten c5 und c6 korrekt gesendet 2. Gebaut wurde unter Linux mit gcc-4.1.2: avr-gcc -mmcu=atmega8 main.c -mmcu=atmega8 -c -o main.o avr-gcc main.o -L/usr/lib/binutils/avr/2.19.1/ -Wl,-Map=main.elf.map
-
Thread
Long(Int) -> ASCII Umwandlung
>Einen "echten" String-Typ gibt es in C doch gar nicht, oder? Meinen >Funktionen übergebe ich jedenfalls immer einen char*, wenn ich mit >Strings arbeiten will, also > >void foobar(char* str) { //meinefunktion } Du übergibst hier die Adresse des Strings (oder Char-Arrays). Alles andere macht ja auch wenig Sinn, das würde ja bedeuten, dass der komplette String kopiert werden müsste. >> Übrigens - in einer halben Stunde hat man bei einem C-Buch
-
Thread
Programmierbare Relaiskarte - Konfigurationsdaten Lesen/Speichern/Übertragen
man arbeitet gleich mit sizeof. Dann sucht sich der Compiler selbst die Größe des Arrays raus. [c] #define ARRAY_LEN(x) (sizeof(x) / sizeof(*x)) [/C] [C] if (temp == ';' || StringLen > ARRAY_LEN - 2 ) { ... [/C]
gemacht habe kann ich gerade nicht erklären. Werde das natürlich auch abändern. [c]if (strcmp(Line, "SYS_SYNC") == 0)[/c] Hier ist es egal an wo in dem String der Sub-String steht, es soll auf jeden Fall dieser Bereich ausgeführt werden. Frank M. schrieb im Beitrag #3289808: >
-
Thread
PC-Applikation C# mit ST-Link und CLI-Interface
erfolgreich/nicht erfolgreich umgesetzt. void Programmer_Programmieren() { String args = ""; //command= " -c SWD -P HEXFILE.hex -V"; // Anm. Verify funktioniert nicht!! //command= " -c SWD -r8 0x00 0x200"; // Test: speicherausgabe ... command = " -c SWD -P HEXFILE.hex";
) ? "(none)" : output)); String sResultErr = ("error>>" + (String.IsNullOrEmpty(error) ? "(none)" : error)); String sResultExit = ("ExitCode: " + ExitCode.ToString()); Console.WriteLine(sResultOut); Console.WriteLine
-
Thread
Problem beim senden mit printf
oh man, schaffs es mittlerweile nicht mehr bei jedem Anruf einen Pin zu toggln! [c] if ( strstr((char*)uart_string,p_sms_telnr_tmp) ){ UCSRB &= ~(1 << RXCIE); // uart RX ISR deaktivieren uart_clear(); uart_sends("AT+CHUP\r\n"); //Auflegen anz_klingeln
über den Funktionspointer aufgerufen. Du brauchst also nur, wie im Artikel beschrieben, in der sms.c das Konstrukt [c] const SMS_CMD_LIST_T sms_cmd_list[] = { {"set",sms_cmdset}, {"test",sms_cmdtest} }; [/c] anpassen. Also der erste Parameter ist der String auf den reagiert werden soll. Dabei
-
Thread
Windows Form stürzt ab beim lesen Serieller Daten
new UpdateCallback(this.UpdateTheTextbox), sp.ReadExisting()); } void UpdateTheTextbox(string s) { textBox1.Text += s; } } } [/c]
[c] public delegate void AddDataDelegate(String myString); public AddDataDelegate myDelegate; private void Form1_Load(object sender, EventArgs e) { //... this.myDelegate = new AddDataDelegate
-
Thread
mit eingänge rechnen
). Nun, ein String ist halt ein Array aus char. Sonst nutzt C nirgends char für Text. Für einzelne Zeichen wird in der Regel int benutzt. Schau dir mal die ganzen Standard-Funktionen an, die mit einzelnen Zeichen arbeiten
wurde). > > Nun, ein String ist halt ein Array aus char. Sonst nutzt C nirgends char > für Text. Falsch. Ein einzelnes Zeichen wird als char deklariert. Nicht nur ein Array von chars. Der Programmierer triftt die Entscheidung
-
Thread
C# 2008 Combobox und Button
Hi leute, bin grad neu in C# eingestiegen. Hab aber bereits erfahrungen mit c und c++. Ich arbeite gerade ein wenig mit Windows Forms. Jetzt habe ich ein Button und eine Combobox erstellt. In der Combobox habe ich manuelle
besonders bei den .NET Steuerelementen Daten von Code trennen kann. du musst ja der comobox kein STring geben du kannst ihr auch ein komplexes object geben. Diese Objekt hat dann 2 eigenschaften, den Text und die Id.
-
Thread
Progmem zuweisungen
]void PrintString (uint8_t __memx *String);[/c] Dann kann der Benutzer mit der selben Funktion sowohl Strings aus dem Flash, als auch welche aus dem RAM ausgeben.
erneuert bekommen und alles funktioniert jetzt. Hier die Zusammenfassung meiner Erkenntnisse: 1. String wird im RAM abgelegt [c] Func("Hallo"); void Func (uint8_t *pstring) {} [/c] 2. String wird im FLASH abgelegt [c] Func_P(PSTR("Hallo")); void Func_P () {} [/c] 3. String wird im FLASH
-
Thread
itoa in Großbuchstaben ausgeben
if(x<10){ dummy[4]=(x+48); }else{ dummy[4]=(x+55); } std_lcd_print_string_to_cursor_position(dummy); } [/c]
davon das sie nach acht Zeichen aufhören soll. oder z.B.: [c]i=0; do { if (array[i]) printf (" %d", array[i]); else break; ++i; }while(1); [/c] Sowie eine andere (String-)Funktion aufgerufen wird weiß diese nichts mehr davon das dass Array
-
Thread
USART Kommunikation zwischen ATMega32 und ATMega328p
Schon mal versucht mit dem E-Kommando den gesendeten String wieder zu lesen? Ich hatte mal den Fehler das Kommandos mit hyperterm an einen µC funktionierten aber aus einem C-Programm ging es nicht. Der Fehler war: der µC hat die UART gepollt und war bei
= Frequenzwert, \r = Carriage Return // Den String über USART senden //usart_sendString(message);*/ while (1) { usart_sendString(message);// Endlosschleife, keine weiteren Aktionen erforderlich } } [/c] so?
-
Thread
AVR Project – Relay Timer with ATmega8 AVR MCU
bekommen. Konzentrier dich erst mal nur auf das LCD und lass den Timer-Code weg. Ein einfaches [c] int main() { InitLCD(0); LCDWriteString(" Welcome "); while( 1 ) ; } [/C] reicht, um das LCD in Betrieb zu nehmen und den Funktionsnachweis zu erbringen. Alles andere sind
LCDGotoXY( 0, 0 ); LCDWriteString("Unten"); } } } [/C] Dann gehts eben weiter. Nicht etwas tun solange eine Taste gedrückt ist, sondern eine gedrückte Taste nur einmal auswerten. Um beim Original zu beliben, zb so [
-
Thread
Einstieg in C++
es Strings mit Character-Arrays aufarbeitet, dann stell es zurück. C++ hat eine String Klasse und ein vernünftiges C++ Buch bringt dir erst mal bei, wie man mit den Klassen die man zur Verfügung hat umgeht, anstatt sich erst mal auf fehleranfällige Frickellösungen einzulassen, wie es die C-Strings nun mal darstellen. Das du dich irgendwann mal damit beschäftigen musst, ist schon klar. Aber nicht am Anfang deiner C++ Karriere. Mein C++-Werk war vor Jahren der 'Stroustrup'. Aber in der
-
Thread
Mega8, ADC, UART. Excelblatt als Voltmeter
nun rechts oben in dem Tabellenblatt einblendet. Ist nur für die Optik. Kannst du bitte mal den string posten, den der uC sendet? Sieht es so aus? "xx1234567890123456" .||..||....|+-------- Nachkommastelle 2.Messwert .||..||....+--------- Vorkommastelle 2.Messwert .||..|+-------------- Nachkommastelle
nicht gerechnet! Danke, Gatsby! Sorry, ich war lange nicht hier... Ja, gerne poste ich den String, der sieht in Hex folgendermaßen aus: AA AA 19 09 18 08 20 02 17 03 16 05 18 04 Startkenner ist AA AA 19 Kanal1, akt.Temp. Vorkomma (19°C) 09 Kanal1, akt.Temp. Nachkomma (,9°C), dementsprechend
-
Thread
Kommandoshell für µC: selber schreiben oder Parsergenerator (Flex/Bison bzw. GOLD)?
TCL/TK sogar portabel für gängige OS) * bei der Übertragungsschicht bist du flexibel (s.o) * auf µC Seite sparst du dir das rumgefrickel mit Strings, parsen etc. Wenn du keine "Programme" zum interpretieren an den µC senden musst, ist diese Lösung besonders für große Projekte aus meiner Sicht wesentlich
> In Boost.Spirit geht das sogar noch schneller - man passt die > Grammatikdefinition direkt im C++ Code an, und ruft den C++ Compiler neu > auf. Wieso sollte das jemand interessieren? Auf Mikrocontrollern wird zu 99% C verwendet und flex liefert reinen C-Code der ohne Aenderung direkt fuer
-
Thread
Intelhex-File mit C einlesen
schreibe. Bleib bei der Strategie erst mal eine Zeile komplett einzulesen. Hast du sie erst mal als String im Speicher, kannst du sie in aller Ruhe zerlegen und analysieren. Vor allen Dingen in Fehlerfällen ist das einfacher, als wenn man gleich beim Einlesen die Zeile zerlegen lassen will [C]
:100010000C94D6000C94D6000C94D6000C94D60008 :100020000C94D6000C94D6000C94D6000C94D600F8 ... :101668006E76616C6964005769647468546F6F536F :081678006D616C6C003F000085 :00000001FF [/pre] Die Ausgabe: [pre]
-
Thread
welche Datentypen soll ich nehmen?
jetzt für ne Variable sein soll. Und das ist jetzt portabel, also unabhängig vom Prozessor. Und string gibts eigentlich in C nicht. Ein string ist daher ein Array aus Charactern, also "char" oder char[] Gruß Gerhard
#6734529: > Klar. Der Returntyp von getchar() ist ja auch nicht char. Zeichen sind meist int in c. Nur in Strings oder %c sind es char.
-
Thread
C# Marshal.Structure
[c] public struct Point { public int x; public int y; public double d; public string sepp; } [/c] die Structur sieht so aus Vielen Dank und Schönen Sonntag D d ad S s
der der auf dem Schlauch steht schrieb im Beitrag #2193790: > [c] > public struct Point > { > public int x; > public int y; > public double d; > public string sepp; > } > [/c] > > die Structur sieht so aus > > > Vielen Dank und Schönen
-
Thread
Was ist das? Eine Soundkarte im Stecker?
Beitrag #5772033: > USB\VID_8086&PID_0808 "8086" gehört Intel, aber Google sagt, dass der Vendor-String von "8086:0808" auf "C-Media Electronics Inc." gesetzt ist. Ich kann nicht ausschließen, dass beides gelogen ist.
Daten und umgekehrt. Das steht da übrigens auch noch (ganz unten): [code] ------ String Descriptor 1 ------ bLength : 0x3E (62 bytes) bDescriptorType : 0x03 (String Descriptor) Language 0x0409 : "C-Media Electronics Inc. " *!*CAUTION trailing
-
Thread
Viele "Daten" in einen µC?
ist in aller Regel wesentlich kleiner als der Flash-Speicher, bringt also nix. Abhilfe: Anderen µC mit größerem Flash verwenden, oder deine String-Konstanten in einen externen Speicher (z.B. SD-Karte) auslagern.
also beim Flashen ins RAM. Woher soll der µC dann zur Laufzeit die Daten herzaubern, wenn die "im RAM abgelegt werden"? Selbstverständlich werden String-Konstanten, die zur Entwurfszeit festgelegt werden, zuerst mal im Flash gespeichert, wo
-
Thread
A2DP Bluetooth Modul China eBay
:$i:1} | eeprog -f /dev/i2c-0 0x50 -w $ADDR" echo -ne ${STRING:$i:1} | eeprog -f /dev/i2c-0 0x51 -w $ADDR ADDR=$(($ADDR + 1)) done echo "################# terminating string with zero #####################" echo -ne "\x00" | eeprog -f /dev/i2c-0 0x51 -w $(($STARTADDR + ${#STRING} )) echo "...DONE" echo "Product-ID now reads:" eeprog -f /dev/i2c-0 0x51 -r $STARTADDR:$MAXLEN echo eeprog -fx /dev/i2c-0 0x51 -r 0xc0:32 [/code]
-
Thread
C++-Bibliothek für OpenCL/generell
Rüdiger Knörig schrieb im Beitrag #3341882: > Enthalten ist z.B. eine Java-ähnliche > String-Klasse, eine Java-ähnliche Klasse für reguläre Ausdrücke usw. So wie die bereits in C++ enthaltenen Klassen für Strings ( http://en.cppreference.com/w/cpp/string ) und für reguläre Ausdrücke ( http
#3343887: > Rüdiger Knörig schrieb im Beitrag #3341882: >> Enthalten ist z.B. eine Java-ähnliche >> String-Klasse, eine Java-ähnliche Klasse für reguläre Ausdrücke usw. > So wie die bereits in C++ enthaltenen Klassen für Strings ( > http://en.cppreference.com/w/cpp/string ) und für reguläre Ausdrücke
-
Thread
"while" Bedingung hält nicht was es verspricht
Zeichen mit. > Allerdings wirft das eine neue Frage auf: > > Wie mache ich das denn bei einem String bei dem das Protokol selber > entscheided wieviele zeichen es hat? Das geht in C auf deinem µC nicht vernünftig. Dazu müsste man dynamisch Speicher allokieren und das möchte man auf so einem kleinen
.2C_die_einen_String_liefert.3F
-
Thread
2 Serielle, c167cs
Hallo hab ein Prob. und zwar Progr. ich uC (c167cs L40M). Brauch insgesammt 2 serille Schnittstellen, eine Davon wird durch den UART realiesiert. So jetzt zu meinem prob.: Sobald ich durch den UART (2 Serille ) einen Konstannten string
<<Jörg. wollte einfach einen String mit einer Variblen länge beschreiben. Der code endet immer mit \n. Nachdem der string verschickt worden ist. Soll der string neu beschrieben werden.
-
Thread
Kann keinen String zuweisen wieso ?
Hallo, ich möchte einen ganz normalen String zuweisen aber irgendwie will der Compiler nicht... ich hab schon im Tutorial nachgeschaut und auch nach Anweisung gemacht. Bitte um Hilfe ! [c] char mode[7]; switch(test) { case 0: mode
war schon korrekt so. Man kann aber (und sollte eigentlich), um sicher zu stellen, dass der neue String terminiert ist, dazuschreiben: [c] strncpy(mode,"Hallo",sizeof(mode)); mode[sizeof(mode)-1] = '\0'; [/c]
-
Thread
Arduino Serial ganze wörter abfragen
Wie muss ich meine Variable deklarieren dass ich wörter auswerten kann? Dann lies mal in deinem C++ oder C Buch im Kapitel über 'String' nach.
lernen, wie C-Strings in Form von char-Arrays funktionieren.
-
Thread
was macht itoa
auf INT_MIN ab und gibt für > den Fall der Gleichheit ebenfalls hartcodiert den entsprechenden String > zurück. Simpel, häßlich und zuverlässig. Ja aber was will ich denn auf einem µC mit einem String. Bei itoa mag das noch angehen, aber bei einem div / Null nützt mir das gar nichts.
Karl schrieb im Beitrag #5372958: > Ja aber was will ich denn auf einem µC mit einem String. Meßwerte oder so in einen String umzuwandeln, um das auf einem angeschlossenen Display anzuzeigen, ist ja durchaus üblich. > aber bei einem div / Null nützt mir das gar nichts
-
Thread
#define in C
dann etwa so aussehen: structname.x1 Dafür brauchst du noch nicht mal Klassen, das deht auch in C wunderbar. Schöne Grüße: Z
C] Peter
-
Thread
c# rückgabe vom commandozeil
Rückgabewert mun in mein C#-Programm? [code] C# string command = "127.0.0.1"; string path = "C:\Windows\SysWOW64\ping.exe"; Process.Start(path, command); [/code] in der Konsole sehe ich nach ausführen des pings das
0% Verlust), Ca. Zeitangaben in Millisek.: Minimum = 0ms, Maximum = 0ms, Mittelwert = 0ms C:\Users\...> [/code] Wie kann ich diesen Text nun auch im C# als string erhalten? Ich habe es mit [code]var retval = Process.Start(path, command); [/code] versucht, aber in retval finde ich
-
Thread
Scriptsprache lernen
experimentellen toplologischen Router. Für interpretierte Sprachen wie Ruby oder Python wird man wohl stets C oder C++ Bibliotheken benötigen, etwa im Bereich Nummerische Mathematik. Es sei denn man will es sich antun direkt mit C oder C++ zu arbeiten. Pythons unterstützung ist da wohl schon besser, Boost_Python
Rust weiter beobachten, und wenn ich C++ Bibliotheken wie CGAL oder Boost verwende, werde ich womöglich doch C++ verwenden.
-
Thread
String zerlegen
Gucke Dir mal die Funktion strok() an! http://www.c-howto.de/tutorial-strings-zeichenketten-stringfunktionen-zerteilen-strtok.html
#2158186: > sscanf(Buff, "A%fAS%1sSF%iF", varAmp, varShape, varFreq); Ersetze mal das %1s durch %c Sollte dein String immer diese Form haben und nur die entsprechenden Variablen varAmp, varShape, varFreq sollen ausgelesen werden, so ist es empfehlenswert bei Mikrocontrollern auf die Verwendung
-
Thread
Software um Daten von µC über RS232 aufzeichnen
Diagramm sehen. Gibt es da eine Software für, die den Comport "ausliest" und wenn ja wie? Wie muss der µC senden? Toll wäre wenn ich die Variablen A-D senden könnte: A:24,21 B:151,26 C:45,23 D:0,25 A:24,25 B: C: D: und so weiter... Tobias
ind C für String Vorbereitung: char text[30]; //Array für Stringaufnahme sprintf(text,"%i\t%i\t\%i\t\%i\r", a, b, c, d);//Daten in einen String mit "TABs" und "RET" umwandeln printUart(text);//Ausgabe des
-
Thread
C++ Simple Funktion um Änderungen auf Display zu schreiben, geht nicht?
_2_disp(0,&line0[0]); write_changes_2_disp(1,&line1[0]); _delay_ms(1000); } } [/c] Es sollen also die beiden Strings line0 und line1 immer wieder aufs display geschrieben werden, allerdings nur deren Änderungen, nicht immer die kompletten Strings. Dann habe ich die Ändrungs-Erkenn-Funktion
Matthias schrieb im Beitrag #7121392: > Wo siehst du ein Problem? Dein String "INA219/ADC-INIT " hat 16 Nutz-Zeichen. Die Funktion strcpy wird folgendermaßen beschrieben: [code] Copies the C string pointed by source into the array pointed by destination, including the terminating
-
Thread
C - CPU Auslastung beim Datei speichern reduzieren
direkte schreiben der Daten an die Festplatte. Man merkt den Unterschied z.B. bei folgenden Schleifen: [c] for (i=0;i<1000000;i++) { fwrite("t", 1, 1, fptr); } [/c] [c] char buffer[1000000]; for (i=0;i<1000000;i++) { buffer[i]='t'; } fwrite(buffer, 1, 1000000, fptr); [/c] Im zweiten
das sind alles wertvolle tipps. ich habe mal die Konvert - Funktionen von diesem link Beitrag "C-Umwandlungsfunktionen für double/int/long nach String" in mein Programm eingebaut ( da wird in einem Zwischenschritt "manuell" ein Float in einen String gewandelt). Die Vorkonvertierung hat deutlich
-
Thread
char * Verkettung von Arrays Chars
[C] char TestString[10]; strcpy( TestString, "Juhu" ); char* Str1 = TestString; char* Str2 = TestString; strcpy( TestString, "Hallo" ); Serial.println( Str1 ); [/C] Die Ausgabe
Lies ein C-Buch, dort insbesondere das, was über Arrays, Pointer und Strings steht. Empfehlenswert: Brian Kernighan & Dennis Ritchie, "Programmieren in C", 2. Ausgabe, Hanser-Verlag. Kennt zwar kein C-99, aber
-
Thread
strings kürzen
scheinbar das Problem, dass schon \ nicht als > Sequenzbeginn interpretiert wird, Wenn das im String steht, steht das im String drin. Als "Sequenzbeginn interpretiert" wird es nur im C/C++-Sourcecode.
Marco G. schrieb im Beitrag #4429396: > welche c-Funktion eignet sich am Besten, wenn ich bei einem String, der > von einem AVR empfangen wird, die ersten drei Zeichen entfernen möchte. Das einfachste und speichersparendste ist: [C] char* ergebnis
-
Thread
Umfrage: Dyn. Webseiten mit Perl oder PHP?
: strcmp & Co sind ganz dünne wrapper um die C-Funktionen. PHP-Strings können üblicherweise '\0' enthalten, C-Strings nicht. mit %00 kriegt man so ein '\0' auch durch den Webserver. Ergo: str* im Webseiten-PHP nur mit vorsicht einsetzen... Und
; $i++) { $randomString .= $characters[rand(0, strlen($characters) - 1)]; } return $randomString; } ?>[/c]In meiner PHP Version ist der Bug wohl schon behoben, trotz "bösem" Vergleich gibt es immer - Caste ich
-
Thread
C und "call by reference"
Pass auf, dass Du die C++ Referenz Übergabe nicht mit Call by Reference verwechselst. In C++ [c] void mach_was(uint16_t& array) { } [/c] In C++ wird "Call by Reference" mit einem Pointer übergeben:
aus */ *bp = 'A'; /* Schreibt das Zeichen 'A' an die Startadresse von bp*/ *(bp+1) = NULL; /* String terminieren */ printf("%s",*bp); /* Gibt den Inhalt von bp aus */ [/c] Hoffe, dass ich etwas zur Verwirrung beitragen konnte.
-
Thread
Arduino-C++: Typ-Problem, erbitte Hilfe
Seit wann gibt es toCharArry in C++? Du knnst einfach mystr.c_str() machen um enen zeiger darauf zu bekommn... Wenn du den String erst kopieren möchtest: char* message = new char[mystr.length()+1] memcpy(message, mystr.c_str(
Und was spricht dagegen, den einfachsten Ansatz zu wählen? [c] String mystr = "test message."; nd.sendToDevice(nd.NetworkDevice.MasterMAC, mystr.c_str(), mystr.length() + 1); [/c]
-
Thread
ACCESS Datenbank mit C++
hast Du etwas falsch verstanden. Einen SQL-Befehl kannst Du nur mit entsprechenden Mechanismen als String an den ODBC-Treiber senden; ihn im Klartext in den C++-Sourcecode zu schreiben ... ist müßig. Außerdem liefert das SQL-Statement ein sogenanntes result set - das kann auch eine Liste von Resultaten
Welches c++ und welche Entwicklungsumgebung(MS-Visual Studio, Borland C++ Builder, GCC, QT...)?
-
Thread
LCD (HD44780, Displaytech 162C) macht Probleme
zeigt das Display wieder nur einen Balken an. Die 1. Zeile funktioniert super. Beispielcode: [c]// Hier funktioniert alles ... lcd_init(); lcd_string("Hallo Welt!"); lcd_setcursor(0, 2); lcd_string("Hall"); // ... und beim nächsten Befehl zeigt das Display nur einen Balken! lcd_string("o
Hier mal meine komplette main.c: [c] #include <avr/io.h> #include "lcd-routines.h" int main(void) { // Hier funktioniert alles ... lcd_init(); lcd_string("Hallo Welt!"); lcd_setcursor(0, 2); lcd_string("Hall"); // ... und
-
Thread
string buffer löschen
> recive[MAX_STRING_LEN] = "clear "; Ähm. Nein. Du brauchst zumindest ein C Buch, wenn deine C++ Ambitionen nicht hoch sind. [[String-Verarbeitung_in_C]]
"); } if (String(c).equals(String("outc"))) { Wire.send(9); Serial.println("temp0 gesendet"); } Serial.print("c= "); Serial.println(String(c)); }[/c]
-
Thread
String parsen mit strtok
habe ich für eine einzelne Position eine komplizierte Struktur mit if-Verzweigungen aufgebaut: [c] if (extern_string[0] == 'S' || extern_string[0] == 's') { if (extern_string[1] == 'H' || extern_string[1] == 'h') { if (extern_string[2] == '1') {
danke für den Ansatz, Jobst Quis. ich übergebe parse_cmd meinen string, komme dann auch bis [c]block = strtol(s, &s, 10);[/c] 'block' hat danach allerdings den Wert 0. [c]if (*s!='.')return s;[/c] wird dann aber wieder korrekt übersprungen, die Pointer Position
-
Thread
HTML Seite auslagern , ATEMGA
IDEs auch die Escape-Schreibweise, also \" für ein " innerhalb eines > durch "" eingegrenzten String. @TO Das hat mit einer IDE nichts zu tun. Das ist die in C (und C++) vorgesehene Schreibweise, wie man innerhalb eines Strings einen " als Zeichen einfügt. Diese und andere Escape-Sequencen
Rolf M. schrieb im Beitrag #4239342: > C++11 unterstützt raw string literals. Damit kann man so einen String > auch so schreiben: aber Vorsicht, in JavaScript kommt auch sehr schnell ein )" vor. [code] <button onclick="myFunction()"