-
Thread
Probleme bei C++ Ausgabe
http://www.google.de/search?rlz=1C1CHNG_deDE329DE329&sourceid=chrome&ie=UTF-8&q=c%2B%2B+tutorial
Nichtsdestotrotz rate ich für ernsthaftes Arbeiten dazu, in einen Stroustrup zu investieren für C++ (und in den K&R für ANSI-C).
-
Thread
Modulo und uint32_t funktioniert nicht
text.format("Spannung = %d,%d Volt \n",spannung/10,spannung%10); konsole.sendString(text); } } app; [/c] was mache ich falsch? :/ Grüße Jahat
text.format("Spannung = %d,%03d Volt \n",spannung/1000,spannung%1000); konsole.sendString(text); } } app; [/c] MFG Falk
-
Thread
Text als char array in funktion übergeben.
//AUFRUF: WriteGeneralText(0x05,"Text zum Anzeigen"); [/c]
Andreas Ferber schrieb: > Karl heinz Buchegger schrieb: >>> String Literale sind nicht konstant. >> Doch, eigentlich sind sie das schon. > > Nö, sind sie nach ANSI-Standard nicht, Hmm. OK. Ich nehms zur Kentniss. Wieder ein Detail in dem sich C von C++ unterscheidet
-
Thread
Array und String
={98,129,23,0,23,98,987,111,129,430}; . . . So weit so gut. Ich würde diese gerne über ein String z.B. 'ABBAB' ansprechen. Das heißt, das entsprechende Array soll dann z.B an PortC (ich weiß das ein Int nicht in ein Port passt, ist auch nicht das problem) nach und nach mittels schleife ausgegeben
Vielleicht möchte er -gesteuert durch den "ABBBA"-String- Werte aus beiden Arrays extrahieren, so in diesem Sinne: for (i = 0; i < 10; i++) { if (String[i] == 'A') printf("%d ", A[i]); else printf("%d ", B[i]); }
-
Thread
ESP8266 - WiFi "stoppt" seinen Betrieb - kein Crash - keine Funktion mehr
aus meinen Code raus: [c] String SSEWrapper::toStringIp(IPAddress ip) { String res = ""; for (int i = 0; i < 3; i++){ res += String((ip >> (8 * i)) & 0xFF) + "."; } res += String(((ip >> 8 * 3)) & 0xFF);
Speicherverwaltung besser unter Kontrolle. Denn die Standard C Funktionen für char[] allokieren nicht im Hintergrund Speicher, wie es die String Klasse tut. Ohne die String Klasse kannst du allerdings nicht mehr ganz so einfach einen String (bzw eine Zeichenkette
-
Thread
frage zu defines TRUE/FALSE
Schlaumaier schrieb im Beitrag #6717339: > Ich habe einfach ein String mit 1 Bytes deklariert und dann > den Inhalt bit-mässig aufgelöst. Klar. Man kann auch Assembler verwenden, das geht auch und c-hater ist dann glücklich. Wenn dir PASCAL nicht zusagt, betrachte
#6719761: > aus "Bundeskanzler" die Wurzel Hab's mir eben ausgerechnet, das gibt: "3fxl31k.15g8" [c] > Math.sqrt(Number.parseInt("bundeskanzler", 36)).toString(36) "3fxl31k.15g8" [/c]
-
Thread
WinAvr pointer Übergabe verändert char Array
Zeichen, per Pointer an die Funktion string_to_dec_value übergeben. Diese Funktion ist noch völlig leer: [c] unsigned int string_to_dec_value(char *inputStr) { return 0; } [/c] Und trotzdem kommt nur Müll raus, wenn ich
garnicht gesendet hatte.... Ich möchte noch anmerken, das die Empfangsroutine und die Funktion string_to_dec_value in der Datei "uart.c" stehen und auch dort das Array "char uart0_tx_buffer[255];" definiert ist. Die Hauptschleife befindet sich in der "main.c" und das Array ist mit "extern char uart0
-
Thread
Struktur größerer µC Programme
Programms. Hab mir das im Ansatz so vorgestellt: die Daten vom Terminal werden empfangen und in einem String gespeichert. Ist die Eingabe abgeschlossen soll der String ausgewertet werden. Die Struktur der Befehle wollte ich wie unter DOS mach (Befehlsname Parameter). Die einzelnen Befehlsnamen wollte ich
ersten 2 oder 3 Zeichen signifikant sind. Ich mache den Vergleich also immer mit der Länge des Strings in der Tabelle. Auch ignoriere ich Groß- und Kleinschreibung. Ich habs aber bisher nur beim 8051 in C gemacht bzw. in meinem AVR Bootloader in Assembler. Wäre aber mal interessant zu sehen,
-
Thread
Ich versuch es ja, aber ich werde mit C++ einfach nicht warm :(
iterator it=liste.begin; it != liste.end(); ++it) > { Ich nehme als Beispiel immer sowas wie: [C] for (std::unordered_map<std::string, std::string>::const_iterator it = mymap.begin(); it != mymap.end(); ++it) [/C] gegen: [C] for (const auto& elem : mymap) [/C] Ich würde sagen, range-bsaed
Rolf Magnus schrieb im Beitrag #4825382: > [C] > for (std::unordered_map<std::string, std::string>::const_iterator it = > mymap.begin(); it != mymap.end(); ++it) > [/C] > gegen: > [C] > for (const auto& elem : mymap) > [/C] > > Ich würde
-
Thread
C#: Frage zu Sourcecode
aTimer.Enabled = false; MessageBox.Show("The Elapsed event was raised at {0}", e.SignalTime.ToString()); } [/c]
aTimer.Enabled = false; MessageBox.Show("The Elapsed event was raised at {0}", e.SignalTime.ToString()); } [/c]
-
Thread
C# Dictionary
Hallo, in einer Applikation werden Daten in ein Dictionary kopiert. Das Auslesen der einzelnen Werte bereitet mir sehr grosse Probleme. Wie könnte man auf den uint Wert zugreifen? [code] Dictionary<String, Dictionary<uint, AsnType>> result [/code]
-
Thread
C# Programmierung! Bitte um hilfe
sender, EventArgs e) { cf.Controls["numericUpDown1"].Text = numericUpDown1.Value.ToString(); } } [/c] Das Property "Text" von Controls wird mit einem Referenzwert (String) initialisiert und stellt den Ausgabewert (Value) vom NumericUpDown auf Form2 dar.
_Wert1 = value; Wert1Changed(value); } } ... [/c] Oder so ähnlich.
-
Thread
Float to Int?
(" Temp2:"); set_cursor(6,2);lcd_string(" ");set_cursor(6,2); dtostrf(temperatur_ist_NTC, 7, 2, Buffer ); lcd_string( Buffer );lcd_data(223);lcd_data('C'); /* set_cursor(0,4);lcd_string(" ");set_cursor(0,4); itoa(OCR1A, Buffer, 10 ); lcd_string( Buffer );*/ } } return 0; }[/c]
-
Thread
Wie kann ich die addresse der gerade ausgeführten methode ermitteln (C++)
Anführungszeichen drumherum, wenn > man also &__FUNCTION__ schreibt kriegt man die Adresse des Strings wo > der Name der Funktion drin steht. Naja, was heißt Anführungszeichen? /__FUNCTION__/ ist eine Stringvariable. In C++ mit gcc würde sich übrigens /__PRETTY_FUNCTION__/ anbieten. Das enthält
bereits befürchtet. Ich würde wirklich gerne die Addresse wissen und nicht marker of den __FUNCTION__ string. Es handelt sich um einen Renesas RX, der durchaus informationen über Resetursachen und vieles mehr anbietet. Geschrieben wird mit IAR C/C++ für RX Prozessoren. Eure genannten Möglichkeiten hatte ich
-
Thread
strstr() & strncpy()
Ich raffs nicht ... ich erstell mir einen Zeiger aus einem FD auf ein String, [c] ptr=strstr(buffer, "1-0:21.7.0*255"); printf(ptr); [/c] 1-0:21.7.0*255(+00023*W) 1-0:21.7.0*255(+00023*W) 1-0:21.7.0*255(+00023*W) Super! Aber nun will ich die Zahl in den Klammern
> übergeben, wo der String hingeschrieben werden soll. Aber da value kein > Pointer ist, sondern eine Array of char, brauchst Du die Adresse davon. Kauf dir ein C-Buch und lies mal nach wie Arrays übergeben werden.
-
Thread
C: AVR: Library für verschiedene I2C-Chips unter Verwendung der P.Fleury-Lib inkl. Datenblätter
Wer hat die Dateien zu den Bauteilen erstellt? Da wurde ja ganz gut gemurkst! [C] int pcf8574_input (int portexaddress) { int portexin1; int portexin2; i2c_start(portexaddress+I2C_READ); portexin1 = i2c_readAck(); portexin2 = i2c_readAck(); i2c_stop
...es reicht ein kurzer(!) Blick in ein paar Quellcode-Dateien: lm75.h [code] volatile int string[16] AS Temperatur; [/code] oder sht21.h [code] volatile int string[8] AS sht21_crc; int string[16] AS sht21_data; [/code] was ist das? Mit welchem C-Compiler soll das übersetzbar sein
-
Thread
sprintf() zu langsam!?
und füge an einen C-String (Char-Array) die jeweiligen nach double konvertierten Strings an. Anschließend wird der String per .execute an die ADO übergeben. Der Aufruf des .execute Befehls geht dabei erstaunlich flott
wir (unter anderem) gefunden? Massenhaft solche Schleifen: [c] for (size_t i=0; i<strlen(blah); ++i) { } [/c] Zuegegebenermassen ist obenstehender Code weitaus dämlicher als die Idee von nullterminierten Strings. Mit einem STL-String kann man sowas natürlich
-
Thread
AVR Libc & GCC: utoa() liefert Ziffern falsch rum?!
auf einem ATtiny26 zu machen. Wie gewohnt wollte ich dabei zwei uint8_t mit der Funktion utoa() in Strings umwandeln. Zu Testzwecken habe ich l und r mit 0 vorbesetzt und in der while einfach hochzählen lassen. [c] while(1) { l++; r++; char left[4]; char right[4]; utoa
(1e6 / 9600); // bit duration if(c & 1) PORTA &= ~(1 << PA7); // data bit 0 else PORTA |= (1 << PA7); // data bit 1 or stop bit c >>= 1; } } void sputs(char *string) { while(*string) { sput
-
Thread
Bit Array in C
0x80"[(Bit) & 0x07]) Oh, das ist eine interressante Notation um kleine Tabellen zu adressieren [c] My_output = "Hallo Welt"[my_pointer++]; [/c] Landet diese kleine Tabelle bzw. der String eigentlich im Progmem oder Datamemory?
&0x07))) [/c]
-
Thread
C lib für SSD1305
dies hat dazu geführt, dass VCOMH 15V gesehen hat. Zudem hab ich von paralleler Ansteuerung auf I2C gewechselt, leider kommt kein Acknoledge zurück, hab nun mal ein Ersatzdisplay bestellt. Um aber nichts unversucht zu lassen, hier mal die I2C Ansteuerung [c] #include <stdlib.h> #include <string.h
"); break; case I2C_MASTER_ERR_ARB_LOST: usprintf(error,"arb_lost"); break; default: usprintf(error,"error %x",mongobilli); break; } RIT128x96x4StringDraw(error, 10,10,10); } [/c] Sieht
-
Thread
Probleme beim Empfang über UART: Abhilfe FIFO?
falls diese Frage sich für manch anderen etwas dümmlich anhört. Ich möchte gerne 70 Zeichen lange Strings empfangen ( Gerät--> uC ---> Hyperterminal). Allerdings empfange ich nur jeden zweiten String. Es scheint, dass mein Programm einfach nicht schnell genug ist, diese Strings weiter zu versenden. Ich
Deutsch: es wird nicht unnötig gewartet... Und das passiert jetzt aber in deinem Code immer noch: [c] void send_char(unsigned char data) { while (!(UCSR0A & (1 << UDRE0))); // warten und Däumchen drehen... UDR0 = data; } void send_string(char *string) { while(*string)
-
Thread
Was bedeutet (*stringWithInt!=0)?
Hallo, kann mir jmd. sagen, was in folgendem Kontext (*stringWithInt!=0) bedeutet? while(!isdigit(*stringWithInt))&&(stringWithInt!=0)) stringWithInt++; tail=stringWithInt; Bedeutet es: "Wenn stringWithInt, auf den der Zeiger zeigt, leer (?) ist, dann
es da steht, heisst es "solange der Zeiger nicht NULL ist" ich vermute aber es sollte heissen: [c] while((*stringWithInt!=0) && !isdigit(*stringWithInt))) [/c] was bedeutet: solange string-Ende nicht erreicht und Zeichen keine Ziffer...
-
Thread
uShell - ein universeller Parser für uCs
funktionierendem header file. #ifdef USE_MUL #define hash_mul_10 (hash_*10) #define hashc(c) hash_=hash_*9+c #else #define hash_mul_10 (hash_<<3+hash_<<1) #define hashc(c) hash_=hash_<<3+hash_+c // hash_=hash*9+c #endf #define chr_offset 32 #define H(x) *9+chr(x) #define
_7,_8,_9,_a,_b,_c,_d,_e,_f) \ (HASH__(_1,_2,_3,_4,_5,_6,_7,_8,_9,_a,_b,_c,_d,_e,_f)*9+n) #define HASH14( n,_1,_2,_3,_4,_5,_6,_7,_8,_9,_a,_b,_c,_d,_e)\ HASH15( n,0,_1,_2,_3,_4,_5,_6,_7,_8,_9,_a,_b,_c,_d,_e)
-
Thread
WPF zugriff auf TextBox mit Statischer Methode
Binding? Wenn du das MVVM Pattern benutzt, dann kannst Du deine Eigenschaft einfach binden. [c] public string Text {get;set;} [/c] Natürlich müsstest Du in dem ViewModel das INotifiyPropertChanged implementieren und oben wie in meinem Beispiel Fody.PropertyChanged für das AutoProperty.
die auf Item.* binden updated. NotifyPropertyChanged() zur Vollstaendigkeit: [c] public event PropertyChangedEventHandler PropertyChanged; protected virtual void NotifyPropertyChanged([CallerMemberName] String propertyName = "") { PropertyChanged
-
Thread
friendlyarm toolchain
arm-linux-as -> arm-none-linux-gnueabi-as lrwxrwxrwx 1 root root 26 Jul 24 2010 arm-linux-c++ -> arm-none-linux-gnueabi-c++ lrwxrwxrwx 1 root root 25 Jul 24 2010 arm-linux-cc -> arm-none-linux-gnueabi-cc lrwxrwxrwx 1 root root 30 Jul 24 2010 arm-linux-c++filt -> arm-none-linux-gnueabi-c
arm-none-linux-gnueabi-ar arm-linux-as arm-none-linux-gnueabi-as arm-linux-c++ arm-none-linux-gnueabi-c++ arm-linux-cc arm-none-linux-gnueabi-cc arm-linux-c++filt arm-none-linux-gnueabi-c++filt arm-linux-cpp
-
Thread
Arduino Serielle Schnittstelle Fehlersuche
Als Arduino Fan möchte ich dazu auch mal was sagen: [c] while (Serial.available()) { // tuwas }[/c] Ansonsten fummelst du da mit String Objekten rum. Das bedeutet dauernde "dynamische Speicherverwaltung". Problematisch! Der String Instanz kann
Probier mal so: [c] String Input=""; // Input von Serieller Schnittstelle boolean stringComplete = false; // whether the string is complete String Befehl="NOP"; // Befehl aus Input int
-
Thread
Was füllt mein .data segment?
) .rodata 0x00800070 0x35 main.o *(.rodata*) .rodata.str1.1 Vermutlich ein String oder mehrere, definiert in Zeile 42 von main.c
Gebrauch von String-Konstanten. Was weiß ich, etwas wie: [c] send_uart("Das ist ein String"). [/c] Das würde nicht ins RAM kopiert werden, das meinte ich.
-
Thread
string mit header versehen ohne kopieren
. schrieb im Beitrag #4764750: > ich verstehe die Konstrukte mit memmove und realloc nicht. Der String > der Reinkommt kann damit nicht bearbeitet werden, der zwischenpuffer > (per malloc geholt) braucht es nicht. Da der "String der reinkommt" mit malloc angefordert wurde, kann auf diesen String
ist vollkommen zerstört) b) es unterstellt, dass der String beim Aufrufer immer am Anfang des Malloc-Bereichs liegt. c) wenn der Original-Bereich zu klein ist, wird der String zweimal kopiert. Und selbst dann muss die Library geändert werden, da der
-
Thread
[C] Weitergabe variabler Anzahl an Argumenten
[c] extern int log_level; const char *level_strings[] { "[DEBUG]: ", "[INFO ]: ", "[WARN ]: ", "[ERROR]: " }; // kleiner Trick, damit die Funktion auch ohne Formatier-Parameter
#define LOG_(level, fmt, ...) \ if(level >= log_level) { \ PRINTF("%s" fmt, level_strings[log_level], __VA_ARGS__); \ } [/c] Ups, kann leider nicht editieren ;)
-
Thread
LCD ansteuerung mit einem ATMega16 und I2C
---------------------------------------------- Formatierung (mehr Informationen...) [code] [c]C-Code[/c] [avrasm]AVR-Assembler-Code[/avrasm] [code]Code in anderen Sprachen, ASCII-Zeichnungen [math]Formel in LaTeX-Syntax[/math] [[Titel]] - Link zu Artikel [/code] ------------------------
Ah, ok, da ist nur der Kommentar falsch [c] //Enable auf 1 setzen _data |= (1<<LCD_EN); writeOut(LCD_PORT, _data); [/c]
-
Thread
rfm22b Empfänger läuft nicht
neuen Strings eine Null. (das ist natürlich sinnlos wenn du nur 3 Zeichen überträgst, dann stehen an den Stellen 3 bis 15 nur Müll) [c] uint8_t meinArray[17]; uint8_t i = 0; for(i = 0; i<16; i++) { meinArray[i] = block.data[i]; } meinArray[16] = 0; // Null (String-Terminierung) [/c] Wenn du die Zahl 16 in dem Code durch eine Variable ersetzt welche die Länge deines Strings enthält (z.B. 3), dann funktioniert das auch mit einer variablen Zeichenkette.
-
Thread
AVR Inline Optimierung kaputt?
Problem … /das/ habe ich nicht, aber das Problem hier hätte ich halt schon: [pre] $ cat umlaut.c #include <string.h> #include <stdio.h> int main(int argc, char **argv) { if (argc < 2) return 0; for (int i = 0; i < strlen(argv[1]); i++) { switch (argv[1][i]) { case '
", temp); [/c]
-
Thread
NMEA von GPS-Modul mit PIC18f8520 auswerten, klappt nicht richtig.
= string[1]; PORTB = uart_rd; asm sleep; } [/c]
(); while( c != '$' ) c = waitForChar(); // hab ihn, jetzt den Satz lesen bis zum '*' c = waitForChar(); i = 0; while( c != '*' && i < sizeof(string) - 1 ) { string[i++] = c; c = waitForChar
-
Thread
sizeof() funktioniert nicht bei Array im EEPROM
nicht. Dann hast du irgendwo einen Fehler gemacht. Es gibt keinen Grund, warum [C] void send_eemem_string( const char* eString ) { char c = eeprom_read_byte( eString++ ); while( c ) { uart_send_byte( c ); c = eeprom_read_byte( eString++ ); } } [/C] nicht
EEMEM ="0 - Relais ausschalten\0"; usw... char help_6[] EEMEM ="h - Hilfe\0"; void send_eemem_string(char a[], uint8_t l) { // funktioniert ! /* char c = eeprom_read_byte( a++ ); while( c ) { uart_send_byte( c ); c = eeprom_read_byte( a++ ); } */ // mit \0 funktioniert
-
Thread
Mit I2C(TWI) das Display EA DOGM204-A ansteuern
Michael R. schrieb im Beitrag #5383075: > Für I2C wäre es gut zu wissen mit welcher Umgebung (welcher uC, welche > Sprache) du arbeitest. Ich arbeite mit einem ATMEGA32 und ATMEL Studio mit der Sprache C.
Hallo, in der dogm204w.c steht #include "avr_i2c.h" i2c_write_byte(0, 0, 0x06) dies scheint bei der Library von Peter Fleury nicht vorhanden zu sein. Kann mir jemand hier weiterhelfen?
-
Thread
SPI Komunikation
Ich denke, du solltest dringend zuerst auf einem PC die Sprache C lernen, dann C++, dann die Besonderheiten von Arduino. Das hier macht nie und nimmer das, was du erwartest: [c] char Paket_zum_Master [50] = "...; String Send_Paket; Send_Paket = "neuer Text
schreibst Du ein Zeichen hinter die Variable, d.h. in einen ungültigen Bereich. Ich kenne mich mit C++ nicht aus, aber in C kopiert man Strings mit strcpy(). Und die Länge ermittelt man mit strlen(). Schau mal ins Manual zur <string.h>. sizeof() gibt Dir nur Anzahl Bytes einer Variablen, in diesem
-
Thread
strtok aus Galileo Computing C von A bis Z
im buch 'C von A bis Z' steht folgendes geschrieben: --------------------------------------------- [c]#include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX 255 char *eingabe(char *str
eingabe("Nachname"); printf("%s, interssanter Nachname\n", ptr); return EXIT_SUCCESS; }[/c] Der Funktion eingabe() wird hierbei als Argument die Adresse eines Strings übergeben. In der Funktion werden Sie aufgefordert, einen Namen einzugeben. Die Anfangsadresse des Strings geben Sie mit
-
Thread
Programmiersprache mit Zukunft
das beste Aufwand/Nutzen Verhältnis bietet. Eine csv Datei einlesen? Braucht 6 Zeilen. Aus einem String ein Zeichen entfernen? Eine Zeile. f-strings lassen sich fast wie Fließtext schreiben, nicht so Cryptorechtes Zeug, wie in C Norbert schrieb im Beitrag #7465248: > Ein guter C-Programmierer kann
Doppelpunkte und "def"s. Aber lassen wir das. > Eine csv Datei einlesen? Braucht 6 Zeilen. Aus einem > String ein Zeichen entfernen? Eine Zeile. f-strings > lassen sich fast wie Fließtext schreiben... Sinnloser Vergleich, da beide Sprachen für völlig andere Anwendungsbereiche gedacht sind (C könnte das
-
Thread
C: Kann man mittels #define einen Wert zurück geben?
: [c] p_myarray = static unsigned myArray[256]; myFoo(myArray, 256) [/c] Wenn DU etwas zurück haben willst, brauchst Du schon eine Funktion.
Nachdem der gcc ja auch C++ kann, wäre es zumindest eine Überlegung > wert? In C++ gibt es dafür std::array
-
Thread
Funktion erwartet flash unsigned char*
eine Varianten, die Daten aus dem Ram akzeptiert. Aber bevor du das machst, besorgts du dir ein C-Buch, und versuchst zumindest mal die allereinfachsten basics der Sprache (wie z.B. Chars und Strings, und wie groß char-Arrays für Strings sein sollten) zu verstehen (und das, was passiert, wenn man
[/C] lcd_putc ist eine Funktion, die ein einzelnes Zeichen ausgeben kann, einen einzelnen char. Wenn du die hast, dann kannst du sie benutzen um damit eine Funktion zu bauen, die einen String ausgeben
-
Thread
asserts() in C++
Funktionsnamen, damit im Fall, dass zu Laufzeit ein assert failed, der Funktionsname bekannt ist. Wenn Du `strings` auf das binary machst, sieht das dann in etwa so aus: http://robitzki.de/images/pretty_function.png Das ist natürlich bei template meta C++ extremer. Aber ich denke auch bei einer "normalen" Desktop
, damit im Fall, dass zu Laufzeit ein assert failed, der > Funktionsname bekannt ist. Wenn Du `strings` auf das binary machst, > sieht das dann in etwa so aus: > http://robitzki.de/images/pretty_function.png > > Das ist natürlich bei template meta C++ extremer. Aber ich denke auch > bei einer
-
Thread
String an ein Unterprogramm übergeben
"string.h" #include <avr/io.h> #include <stdint.h> #include <i2cmaster/twimaster.c> #define DC1 0x17 #define DC2 0x12 #define ESC 0x1B #define ACK 0x06 #define NAK 0x15 #define NUL 0x00 void
Moin, die for-Schleife wird durchlaufen solange die Bedingung [c]i == len[/c]erfüllt ist. Also genau ein mal wenn der String die Länge 0 hat.
-
Thread
Emfehlung für Config File-Format
#5253589: > Fabian F. schrieb im Beitrag #5253586: >> Außerdem sollte der Zugriff auf die elemente im C-Code möglichst einfach >> von statten gehen (Und nicht jedes mal nach Strings suchen). > > XML ist Text, wie soll das ohne Stringsuche gehen? ICH will nicht nach Strings suchen müssen :-). Wenn
Fabian F. schrieb im Beitrag #5253586: > Außerdem sollte der Zugriff auf die elemente im C-Code möglichst einfach > von statten gehen (Und nicht jedes mal nach Strings suchen). Ich kenne leider auch Leute, die Strings in einer unübersichtlichen riesen sscanf-Monsterkette parsen. Ich mag
-
Thread
avr-gcc 6.3 für Windows
Johann L. schrieb im Beitrag #4980083: > nämlich? Kompiliere mal das [c]const __flash char string1[] = "same string"; const __flash char string2[] = "same string"; char foo(unsigned char i) { return string1[i] + string2[i]; }[/c] mit den Parametern -fmerge-all-constants
#4980159: > Johann L. schrieb im Beitrag #4980083: >> nämlich? > > Kompiliere mal das > > [c]const __flash char string1[] = "same string"; > const __flash char string2[] = "same string"; > > char foo(unsigned char i) { > return string1[i] + string2[i]; > }[/c] > > mit den Parametern
-
Thread
VS 2013: C#-Frage zur Textbox
In einer while-Schleife, die pro Durchlauf 200 ms dauert, aktualisiere ich zwei Textboxen, um mir die Anzahl der fehlerhaften bzw. korrekt übertragenen Datensätze anzeigen zu lassen. Erwartet habe ich, dass die Zahlen von 1 bis 100 durchlaufen. Bekomme aber Zahlen, die in zwei, drei größeren Abständen (19, 72, 100) angezeigt werden. Woran liegt das? Was muss ich ändern? [code] ... textBoxACK.Text = Convert.ToString(ACKcounter); textBoxNAK.Text = Convert.ToString(NAKcounter); ... [/code]
-
Thread
Probleme bei abhängigen Arrays Code
Rolf M. schrieb im Beitrag #7001734: > Das geht allerdings nur in C, nicht in C++. Häää? Warum soll das in C++ nicht gehen? Das sind triviale Arrays mit Strings.
Falk B. schrieb im Beitrag #7001753: > Rolf M. schrieb: >> Das geht allerdings nur in C, nicht in C++. > > Häää? Warum soll das in C++ nicht gehen? Das sind triviale Arrays mit > Strings. Weil die Stringliterale jeweils 6 Bytes groß sind, da sie das abschließende \0 enthalten. In
-
Thread
stm32 HAL UART Receive_IT(.) sendet nur 1 Byte
im Speicher irgendwann mal eine 0 steht. Willst du das? Oder wolltest du eher sizeof nehmen? [c] #include <iostream> #include <string.h> using namespace std; char docklight[10]; int main(void) { cout << "strlen is: " << strlen(docklight) << endl; cout << "sizeof is: " << sizeof
mir bescheid!!! bescheidgesagt wird hier über diese funktion ... wenn du also deine : [c] volatile uint8_t IstWasPassiert = 0; char rxString[100]; uint8_t rxCount; int main(){ uint8_t byte ; HAL_UART_Receive_IT(&huart3, &byte , 1 ); while(1) { if(
-
Thread
Anfängerprobleme
Martin Schmid wrote: > int string; Dem Compiler ist der Name egal, einen String kann die Variable "string" nicht speichern, sondern nur einen int. itoa verlangt ein Array von mindestens 7 Byte ("-32768\0"), also [c] char string[7]; [/c] Und dann schau Dir genau die Argumentenfolge von itoa an. Peter
-
Thread
DOGM - 163 Initialisierung +5V SPI
Zeilen Display, das im 5V mode Betrieben wird ? Und noch eine allgemeine Frage zu deiner lcd_string Funktion, deine while schleife Endet indem sie das Zeichen "\0" bekommt ? Dann muss der Befehl also so lauten ? [c] lcd_string("Hello World!\0");[/c] Vielleicht hat ja noch jemand anders
Display ist? DogM163 S-A [c] int main(void) { lcd_init(); char* string = "Hallo Welt :-)"; lcd_string(string); while (1) { asm volatile ("nop"); } return 0; } [/c] MfG
-
Thread
Datei einlesen mit C
Genau deswegen sollst du doch strtok benutzen. In C gibt es nur sehr kuemmerliche String Funktionen. Also musst du alles schoen zu Fuss machen.
einen Fehler meldete und nicht um vorherzusagen, dass die naechste Leseoperation schiefgehen wird. C (und auch C++) schauen nicht in die Zukunft. In C (und auch C++) liefern alle Lese-Operationen einen Return-Wert, der eine Aussage darueber erlaubt, ob die Leseoperation gut ging oder nicht. D.h