-
Thread
Alle Leerzeichen aus String entfernen
Am Ende der Routine fehlt noch [c] buff[j] = '\0'; [/c] bzw. [c] string_neu[j] = '\0'; [/c] um den neu erzeugten String abzuschließen. Fragt man das Stringende in der While-Schleife ab, kann man nich den strlen-Aufruf
*p = '\0'; // String mit Nullzeichen abschließen } [/c]
-
Thread
[AVR] compiler optimiert strings nicht richtig
> Was muss ich tun, damit der string nur einmal eingebunden wird? Mach eine globale Variable mit dem String: [c] char ERROR_SD_READ[] = "Error SD_read"; : lcd_puts_P( ERROR_SD_READ ); : [/c]
Worin liegt das Problem, den String nur einmal zu definieren, ihn aber mehrmals zu verwenden? [c]char ERROR_SD_READ[] PROGMEM = "Error SD_read"; ... lcd_puts_P( ERROR_SD_READ ); [/c] Und ja, der String ist dann nur einmal im
-
Thread
Kommunikation zwischen 2 MC
< sizeof(buffer)-1){ buffer[index++] = c; } } else{ buffer[index] = '\0'; // Beende den String mit einem Null-Byte index = 0; // Setze den Index zurück für die nächste Nachricht message_received
glaubst. Das wartet nicht nach jedem Zeichen, sondern nur einmal, nach dem kompletten Absenden des Strings "str". Um nach jedem Zeichen zu warten, müsste es so aussehen: [c] void uart_puts(const char *str) { while (*str) { uart_putchar(*str++); // dem Empfänger Zeit zur Verarbeitung
-
Thread
kommunikation zwischen 2 µC-Boards
hi habe follgendes problem - eines von vielen ;) ich habe ein eigenes µC board(atmega8-16pu) entwickelt und will mit diesem einen string an ein anderes µC board(ssc32 board atmega 168-20 Pu) schicken(über den usart). muss ich zwischen den 2 boards synchron oder asynchron
irgendwer von euch kennt. und ich will die positionen statt vom computer(was funktioniert) nun mit meinem µC board schicken. also mein µC board schickt auch den string( wenn ich mit hyperterminal teste kommt der string auch an) so noch eine frage: wenn ich synchron kommuniziere mit was muss ich dann
-
Thread
Kombidatentyp Struktur in C
klar sind(als Kommentare im Code). Ich bitte euch um eine ganz kurze Erklärung. Vielen Dank! [c] #include <stdio.h> #include <string.h> struct lagerverwaltung { int artikelnummer; char artikelbezeichnung[100]; //[100] seit wann Größenangabe char??? int artikelanzahl; }; int main
anlassbezogen auf 1/4 Wissen upgradest sondern wenn du stattdessen systematisch in die Geheimnisse von C eingeführt wirst. Und zwar mit den relevanten Details, wie zb: "Wie funktioniert eigentlich String-Verarbeitung in C?" In jedem noch so grindigem C-Buch ist das ein eigenes Kapitel und normalerweise
-
Thread
Problem mit UART beim empfangen
bleiben [C] void sendeString( char* text ) { while( *text ) sendenByte( *text++ ); } int main(void) { //UART initialisieren USART_Init(); sendeString( "Reset\n" ); //Interrupts
; return data; } void sendeString( char* text ) { while( *text ) sendenByte( *text++ ); } [/c]
-
Thread
Timerinterrupt und UART
; //Flag zurücksetzen } } } [/c] Die Interrupt Routinen [c] ISR(USART_RXC_vect) { uint8_t nextChar; // Daten aus dem Puffer lesen nextChar = UDR; if( uart_str_complete == 0 ) { // wenn uart_string gerade
] = nextChar; uart_str_count++; } else { uart_string[uart_str_count] = '\0'; uart_str_count = 0; uart_str_complete = 1; } } } ISR (TIMER1_COMPA_vect) { bSekunde=1; } [/c]
-
Thread
Macros ineinandergreifend
byte bereit ist. [c] ;Syntax: string_out_set Rb,Rb .MACRO string_out_set string_out_routine: pop @0 ; Oberes Byte der Adresse des 1. Datenbytes des Strings vom Stack holen mov @1,@0
out SREG,r16 pop r16 cbi UCSRB,UDRIE reti [/c] Die Macros werden dann folgendermaßen eingesetzt: [c] string_out_set r16,r17 loop: string_out r16,string_end .db "Test !",0x0A,0x0D,0 string_end: [/c] Das ganze hat ohne makros so funktioniert
-
Thread
Von der TU auf die FH
noch geiler sind ja die "Informatik"-Vorlesungen an den FHs. Das ist > dann ein zweisemestrigwr C-Kurs auf VHS-Niveau. Informatik ist eben > NICHT die Programmiersprache C. Richtig, soll man jetzt Deiner Meinung nach nun mehr oder wenig C haben? > physik hattense auch. "na dann erklär mal
bin_String() schrieb im Beitrag #3934166: > Ciaoi Und komm nicht wieder.
-
Thread
Variable in string Funktion übergeben
); lcd_line2(); //cursor nach links in zeile 2 lcd_string( zeile2 ); } [/c] Noch hat sich nichts verändert. Aber die Dinge ändern sich. Denn um [c] lcd_text("Temperatur",temp); [/c] das hier zu tun, ist die Funktion lcd_text unbrauchbar. Die kann
zu bauen [c] void lcd_wert( const char* label, int wert ) { lcd_line1(); lcd_string( label ); lcd_line2(); lcd_int( wert ); } [/c] und damit kannst du dann im Hauptprogramm das hier machen
-
Thread
crc-Berechnung Codezeile Erklärung
mitgezählt wird 2: sizeof(), welches die Anzahl der Bytes von Argument schon beim Compilieren weis. [c] char variable[100]="Hallo"; [/c] strlen(variable) ist 5, weil der String 5 Zeichen lang ist. Tatsächlich sind 6 Zeichen belegt, wegen der abschließenden Null. sizeof(variable) ist 10, weil das
noch eine Frage: > wenn ich es richtig sehe, wird bei der crc Berechnung in der Funktion > mit String/Char-Array gearbeitet (berichtigt mich bitte wenn ich es > falsch interpretiere) > [c] > crc.setPolynome(0x1021); > crc.add((uint8_t*)str, 9); > Serial.println(crc.getCRC(), HEX); > [\c
-
Thread
vprintf: region rom overflowed by 6932 bytes
will lediglich einen Wrapper bauen für eine printf-Ausgabe. Dazu soll der das Argument fmt mein String sein, und anschließend eben die variablen Argumente. Alles andere Parameter werden "im Hintergrund" bereits eingefügt. Beispiel: [c] #define log_info(...) log_log(LOG_INFO, __FILE__, __LINE
; uart_puts(msg); uart_puts("\r\n"); } log_it("foo.c", "20", "mumble"); log_it("foo.c", "22", "doodle"); [/c] Dein numerisches Argument "Nummer der Zeile in der Datei" wurde also schon durch den Präprozessor in einen String umgewandelt, und alles
-
Thread
ADC mit ATMEGA8535
sprintf (string ,"%04d, ADCH"); SetLine (4 , string); }; } [/c] Wo fragst du den ADC ab?
(4, string); } [/C]
-
Thread
C soll einer verstehen...
folgenden Testcode kann man Zeile a und b (s. unten) variieren und es funzt immernoch. Entweder ist "C" nicht konsequent oder ich sollte lieber die Zeiger ner Uhr betrachten - die versteh ich nämlich. #include <stdio.h> #include "iostream.h" void print_char(char c){ cout<<c; } void print_string(char *c){ while (*c != 0) { /* Variante 1 */ print_char(*c); //Zeile a *c++; //Zeile b } } int main(void){ print_string("Hallo"); return 0; } /* Varinte 2
-
Thread
Chinesische Lichterkette ohne Lichtorgel?
einen Brückengleichrichter. Ganz rechts sind die Netzanschlüsse. Links 3 Anschlüsse für die LED-Strings.
Schon verblüffend, daß der kleine µC 320V direkt schalten kann. Und auch die geringen Pinabstände. Die Vorwiderstände dürften in den LED-Ketten sein, den µC sollte man daher kurzschließen können. Der Taster ist dann natürlich wirkungslos
-
Thread
Codeschnipsel zusammenfassen (Übersichtlichkeit)
( text++ ) ); } } [/C] Diese Funktion holt sich den String direkt aus dem Flash, wobei sie der üblichen C-Konvention folgt, dass der String bei einem '\0' Zeichen endet (was anderes macht strcpy_P auch nicht). Aber: Sie
Zwischenspeicher und kann daher auch keinen Zwischenspeicher überlaufen! Auch benötigt sie die tatsächliche String Länge nicht, ist daher schneller, als wenn vorher mittels strlen_P die Länge festgestellt werden muss. Dein Aufruf [C] strcpy_P ( &au8TempStr[0], AU8TXT_MAIN1 ); lcd4x20_show ( /* u8Line
-
Thread
C++, Boost, Spirit: In Identifier-Ketten keine Blanks erlauben?
::spirit::utree; int main() { auto tests = std::vector<std::string> { "a", // ok "a.b", // ok "a . b", // nok "a . b. c" // nok }; for (std::string str : tests) { auto iter = str.begin(), end = str.end();
Liste sind: double-quoted strings MIT Escaping: [c] double_quoted_string = '"' >> qi::no_skip[+~qi::char_('"')] >> '"'; [/c] wie kann man Escaping wie in CSV-Dateien mit einem weiteren " erreichen also: "Hallo ""Spirit"
-
Thread
Datenverarbeitung einer CSV Datei
" laufen lasse, die > nach jedem Wert ein, schreibt und am Zeilenende halt ein "\n". Falls du C++ verwendest kannst du ab C++11 folgendes verwenden: [code] string str; // dein String .... str.pop_back(); // entfernt das letzte , str +="\n"; // schließt den String mit endl ab. [/code
laufen lasse, die >> nach jedem Wert ein, schreibt und am Zeilenende halt ein "\n". > > Falls du C++ verwendest kannst du ab C++11 folgendes verwenden: string > str; // dein String > .... > str.pop_back(); // entfernt das letzte , > str +="\n"; // schließt den String mit endl ab. >
-
Thread
Serielle Daten empfangen mit C#
Hallo, Habe ein Problem bei C# beim einlesen eines vom Mikrocontroller gesendeten Strings. Habe als Endzeichen vom Mikrocontroller '\n' am Ende vom String angehangen. private void COMPORT_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs
Board mit dem Mk2 Programmieradapter. http://shop.myavr.de/Systemboards/myAVR%20Board%20MK2,%20best%C3%BCckt.htm?sp=article.sp.php&artID=40 Da geht es drum von Programmiermodus auf Datenmodus umzuschalten und die Readline Funktion ist zur abfrage ob der Adapter auch im Datenmodus ist. Wenn dieser
-
Thread
I2C Fehler beim anzeigen.
(0x05); i2c_write(0x03); i2c_stop(); uart_puts( dtostrf( Stunden, 1,0,string ) ); uart_puts(":"); uart_puts( dtostrf( Minuten, 1,0,string ) ); uart_puts(";"); zur Anzeige nutze ich HTERM
(); i2c_start(); i2c_write(RV3029_lesen); Minuten = i2c_read(1); Stunden = i2c_read(0); i2c_stop(); uart_puts( dtostrf( Stunden, 1,0,string ) ); //Senden an USART uart_puts(":");
-
Thread
uart raspberry pi, warum neuer pointer zum senden?
Stefanus F. schrieb im Beitrag #5979882: > Funktions-Argumente sind in C immer "by value" (eine Kopie). Trifft bei Pascal zu, aber nicht bei C! Funktions-Argumente von Arrays, Strukturen und Strings sind in C immer "called by reference" .
Stefanus F. schrieb im Beitrag #5979884: > char* TX_BUFFER="Raspberry Pi"; Bei C++ mit dem Typ *string* anstelle von char* funktioniert es auch. [c] string tx_buffer = "Raspberry Pi"; [/c] https://www.w3schools.com/cpp/cpp_strings.asp
-
Thread
aus string '.' heraustrennen
für normale C-Strings kannst du memmove() benutzen: [C] char x[] = "10.10"; memmove(x + 2, x + 2 + 1, strlen(x) - 2 - 1 + 1); [/C] Dabei stehen die Zweien für die 2 aus deinem erase(), die Einsen für die
Falls du die Position des '.' nicht kennst.. [C] char *pp = strchr(x, '.'); if(pp != NULL) memmove(pp, &pp[1], strlen(pp)); [/C]
-
Thread
Textausgabe lcd c
verwenden. Die Füllzeichen kann man im Prinzip frei wählen nachdem man den Puffer gefüllt hat. [C] { char puffer[8]; memset(puffer, 0, 8); // #include <string.h> erforderlich strncpy(puffer, "test1", 8); // #include <string.h> erforderlich // hier ggf. Nullbytes durch Füllzeichen ersetzen displ_print(puffer); } [/C] Siehe auch [[String-Verarbeitung in C]]
-
Thread
USART_Transmit fehler
lang ist? Wenn der Messert 5 ist, dann ist der String auch nur 1 Zeichen lang! ALs ersts schreibst du dir jetzt erst mal eine Hilfsfunktion, die einen String ausgeben kann [C] void USART_Transmit_String( char* s ) { while( *s != '\0' ) {
Sonst siehts du am Terminal im Zahlenwust nicht wo eine Zahl aufhört und wo die nächste anfängt [C] ... char Werte[10]; while(1){ int i = ADC_Read(0); itoa( i, Werte, 10 ); USART_Transmit_String( Werte ); USART_Transmit( ' ' ); } } [/C] und achte ein bischen
-
Thread
C# RegistryKey: Subs und Values löschen
Grad beim nochmal drüberlesen fällt mir ein: [c] String ValString = CurrentKey.GetValueNames()[i]; CurrentKey.DeleteValue(ValString); [/c] und "das nächste i", vertragen sich nicht wegen dem löschen... Rein logisch geht es so ja eigentlich gar
Ich brauch überhaupt kein i, nur überall 0; Die Schleife hat sich sonnst selbst aufgegessen. Neu: [c] for (int i = 0; CurrentKey.ValueCount > 0; i++) { NameString = CurrentKey.GetValueNames()[0]; CurrentKey.DeleteValue(NameString); } [/c] Danke trotzdem. Edit:
-
Thread
C# -- Wie speichere ich am Besten Daten die während der Laufzeit anfallen?
nun die Dateinamen mit einer Klasse aus dem Array verbinden und das in dem Dictionary speichern. [c] myStringDict.Add("DATEINAME als STRING", test[1]); [/c] Und dann stecke ich fest ... wie komme ich nun an die Properties meiner Klasse in test[1] ? Vermutlich ist das hier alles völliger Schwachsinn
[c] // Anlegen des Dictonaries Dictonary<string, myclass> dict = = new Dictionary<string, myclass>(); // neue Instanz bzw. Schlüssel/Wert-Paar hinzufügen dict.Add(fileName, new myclass
-
Thread
Problem mit dem Umwandeln von einem Char-Array in Char-String AtMega128
="ok"; USART_Transmit_String("empfangen"); USART_Transmit_String(einlesen); s=0; } } } [/c]
") == 0) einlesen[5]="ok"; USART_Transmit_String("empfangen"); USART_Transmit_String(einlesen); s=0; } } } [/c]
-
Thread
COM Server C#
Mit C#? Nein.
Du kannst mit C# so ziemlich alles machen, nicht immer nativ, dann aber mit C++ Code der über C# aufgerufen wird. Aber ich verstehe dein Problem einfach nicht. Formulier das einmal etwas genauer.
-
Thread
BASH -Code auf Linux Mint ausführen, brauche bitte Hilfe
Moin, - ich habe eine aktuelle Debian-Maschine aufgesetzt, xmllint und strings installiert. Dann all_set.FR4 in ALL_SET.FR4 umgenannt. [c] BASH_VERSION='5.1.4(1)-release' [/c] Einmal ausprobieren: [c] tom@xml:/tmp/abc/prg$ ./FR_extract_sets_from_set_all.sh -:2:
Moin, - wenn man das Programm anguckt, ist ein Magic-String einprogrammiert: [c] SET_BINARY_HEADER="\\xEF\\xBB\\xBF\\x00\\x00\\x03\\x28" [/c] Wenn man die set_all.fr4-Datei anguckt: [c] 000000 ef bb bf 00 00 08 2f 3c 3f 78 6d 6c 20 76 65 72 >......
-
Thread
16 bit Zahl in eine Datei schreiben
++) { fprintf (datei, "%s\n", string); a=a+1; itoa(a,string, 2); } fclose (datei); return 0; } [/c] die zahlen sollen alle die Länge 16 bit haben. kennt jemand da eine Lösung? mfg
i++) { myitao(i, string); fprintf (datei, "%s\n", string); } [/c]
-
Thread
Teile eines Strings in Integer umwandeln
Parameter Identifier, hier Kühlertemperatur "43" ist der tatsächliche Wert: 4*16 + 3 = 67, jetzt noch 40°C abziehen und dann ist die Kühlertemperatur von 27°C berechnet (ist auch korrekt so ;-)) Im Programm selbst habe ich den String als char* vorliegen, habe schon mit sprintf und sscanf versucht, der
inbuffer[7]; > > scheint das zu sein, was du suchst. Oder wenn das Hex Zahlen sein sollen: [C] void atohex( char c ) { if( c >= '0' && c <= '9' ) return c - '0'; if( c >= 'A' && c <= 'F' ) return c - 'A' + 10; return 0; } .... tmp_CoolantTemp = atohex( inbuffer
-
Thread
Problem mit UART RX und Atmega32
nextChar != '\n' && nextChar != '\r' && uart_str_count < UART_MAXSTRLEN - 1 ) { uart_string[uart_str_count] = nextChar; uart_str_count++; } else { uart_string[uart_str_count] = '\0'; uart_str_count = 0; uart_str_complete = 1; } } } [/c
geht und auch der Atmega wieder läuft. Verkabelt habe ich jetzt so: MAX PIN 1 -> "+Pol ELKO (C2)" -> "-Pol ELKO (C2)" -> MAX PIN 3 MAX PIN 2 -> "+Pol ELKO (C4)" -> "-Pol ELKO (C4)" -> +5V MAX PIN 4 -> "+Pol ELKO (C3)" -> "-Pol ELKO (C3)" -> MAX PIN 5 MAX PIN 6 -> "-Pol ELKO (C5)" -> "+Pol ELKO
-
Thread
Zeichen im String zählen
herausfindet, wie viele Werte in einer Datei stehen. Dafür hab ich mir überlegt, das ich die Datei in einen String lade, um anschließend die Anzahl des Zeichens ";" zu zählen. Denn nach jedem Wert folgt ein Semikolon. Das Programm benötige ich in C. Kann mir jemand helfen? Danke. Carola
Rückkehrcode von fread() nicht ausgewertet. Die lehrbuchmäßige Version einer derartigen Schleife wäre: [c] int c; while ((c = getc()) != EOF) { if (c ... ) ... } [/c]
-
Thread
String Anfangswert zuweisen
8) DDRH |= (1<<PH5); //OCR4C auf Ausgang uart_init(); // USART initialisieren sei(); while (1) { char tmp[5]; strcpy ( tmp, uart_string); uint16_t x = atoi( tmp ); OCR4C = x;
der String empfangen wurde, wird er in eine Zahl umgewandelt. Andreas H. schrieb im Beitrag #2316578: [c] volatile uint16_t x; : { uint16_t x = atoi( tmp ); OCR4C = x; } : itoa
-
Thread
LCD KS0073 am AVRATMega128
|= (1<<LCD_EN); asm("nop"); LCD_CONTROL &= ~(1<<LCD_EN); lcd_busy(); } void lcd_string (unsigned char *string) { while (*string) lcd_char (*string++); } void lcd_init(void) { delay(20); LCD_CONTROL_DIR |=((1<<LCD_RW)|(1<<LCD_EN)|(1<<LCD_RS)); //Ausgänge
LCD_CONTROL|= (1<<LCD_EN); asm("nop"); LCD_CONTROL &= ~(1<<LCD_EN); lcd_busy(); } void lcd_string (unsigned char *string) { while (*string) lcd_char (*string++); } void lcd_init(void) { delay(20); LCD_CONTROL_DIR |=((1<<LCD_RW)|(1<<LCD_EN)|(1<<LCD_RS)); //Ausgänge
-
Thread
Printf-Lib im GCC-Tutorial
nicht begriffen hast. ;-) Hmm, ich müsste dich jetzt allerdings in den Kurs ,,Grundlagen von ANSI-C (ISO-C 1990)'' zurückschicken, zum Stichwort string literal concetanation. Du versuchst, ohne dass du dieses Feature von C verstanden hast, es mit trial&error zu benutzen. Das geht nicht gut.
Was auch immer Du da gefunden haben magst, C ist das nicht. Strinverkettung mit "+" ist Java/JavaScript oder -je nach Implementierung der Klasse "string"- C++.
-
Thread
Send response (Action *Var)
Statement nun mal nur mit integralen Datentypen umgehen kann und nicht mit Zeichenketten (zumindest in C). Und um nochmal Lothar zu zitieren: Lothar M. schrieb im Beitrag #4426719: > Dann solltest du dir ansehen, wie in C aus einzelnen Chars dann > komplette Strings zusammengebaut und wie die dann
0. "uint8_t" ist normalerweise das selbe wie "unsigned char", wärend ein Zeichen eines c-string den Type "char" mit unbekannter signedness hat. Der C-String selbst hat dann den Typ "char[n]" oder "char*". Ein "unsigned char" ist gleichgross wie ein "char" und somit meistens gleich gross
-
Thread
C++ DLL in Labview einbinden
Ich würde ein C-Style Funktionsinterface einbauen, das den C++ Teil wegkapselt. Damit kannst du dann in labVIEW arbeiten. Die C++ Klassen wirst du nicht in labVIEW verwenden können.
Nö, das geht immer noch: [c]#include <string> class Foo { public: static void test (int x); static void test (double x); static void test (std::string x); }; int main () {}[/c] "static" bewirkt nur dass
-
Thread
doppelt Null terminierter String
a double null-terminated array genau das meine Vlad Tepesch hier geht es nicht im einen String sondern um eine StringListe.
ja nicht weiß, wieviel strings du ihr geben willst. Alternative wäre ein Array, aus char*, also: [c] const char* strList[4] = {//ein eintrag mehr, wegen null-pointer als Endemarke "string 1", "string2", "string3" };
-
Thread
Textersetzung innerhalb eines String
MAXSPEED_S ">")); [/c] Aber da muss ich natürlich die #defines jeweils als int/String haben. Geht das irgendwie einfacher? Gruß und schönen Sonntag
MAXSPEED_S XSTRINGIFY(MAXSPEED)[/c] Die zwei Ebenen sind deshalb nötig, weil Du am Ende den String "512" haben willst und nicht den String "MAXSPEED".
-
Thread
Variablen ins ROM speichern C18
das sollte mit memcpyram2pgm eigentlich gehen. Ich habe jedenfalls schon oft folgendes genutzt, um Strings aus dem Flash ins Data Memory zu kopieren: [c] unsigned char data_text[25]; // data memory rom unsigned char rom_text[] = "meintext"; strcpypgm2ram ((char*)&data_text, (const far rom char*) rom_text); [/c] Gruss, Dirk
-
Thread
LCD per 4-bit ansteuern mit C
speicherstelle = speicherstelle + 64; lcd_write_ctrl(speicherstelle); } void lcd_text(char string[]){ laenge = strlen(string); for(i = 0; i < laenge; i++){ lcd_write_data(string[i]); } }[/c] Seltsamerweise erscheinen nur in der zweiten Zeile seltsame Zeichen
speicherstelle.F7 = 1; lcd_write_ctrl(speicherstelle); } void lcd_text(char string[]){ laenge = strlen(string); for(i = 0; i < laenge; i++){ lcd_write_data(string[i]); } }[/c] Sebastian
-
Thread
Anfänger: Hilfer, Stack underflow Problem
0 ; Stringkonstante, durch eine 0 ; abgeschlossen lcd_flash_string: push temp lcd_flash_string_1: lpm temp, Z+ cpi temp,0 breq lcd_flash_string_2 out PORTB,temp rjmp lcd_flash_string
rjmp lcd_flash_string lcd_out_text2: ldi ZL, low(2*text2) ldi ZH, low(2*text2) rjmp lcd_flash_string lcd_out_text3: ldi ZL, low(2*text3) ldi ZH, low(2*text3) rjmp lcd_flash_string lcd_out_text4
-
Thread
Speicherdump mithilfe von C unter DOS erstellen
laut PnP BIOS Spezifikation im Speicherbereich 0xF0000 - 0xFFFFF finden lassen und durch einen $PnP String an ihrem Anfang, das es zu suchen gilt, erkennen lassen. – Nur ist es nun so, dass mein Programm (kompiliert und ausgeführt mit Turbo C++ 1.01 unter FreeDOS 1.2) nur ein einziges Speichersegment zu
mem, i, j * 0x10000); fwrite (mem, di, 1, file); } } fclose (file); return 0; } [/c] Jetzt kann ich im spezifizierten Bereich auch zweimal den String $PnP finden. Bin schon gespannt was das wohl für Geräte sind, schlißlich hat der Laptop mehr als zwei Komponenten. foobar schrieb
-
Thread
c#: Anweisung in if-Abfrage safe?
[c] string sopt=null; if (str.StartsWith(sopt="+UUSORD:")|| str.StartsWith(sopt="+USORD:")) { // sopt ist entweder "+UUSORD:" oder "+USORD:" } [/c] Ich möchte eine If-Abfrage mit zwei or-conditions
. Konkret sieht das dann nämlich so aus: [code] //string test = "123abc123"; IL_000c: ldstr "123abc123" IL_0011: stloc.0 //string prefix = null; IL_0012: ldnull IL_0013: stloc.1 //if (test.StartsWith(prefix = "abc") || // test.StartsWith(prefix
-
Thread
Komisches Zeichen wird im LCD angezeigt. Durch zusammenfügen von 2 Strings?
[c] char hzString[] = ""; itoa(HzInNumber, hzString, 10); [/c] Wie groß ist hzString?
[pre]char *hz = malloc(strlen(hzString) + strlen(secondary)); [/pre] Das wird nicht reichen. Nimm dir mal ein C-Grundlagenbuch und guck dir an, wie in C die Länge eines Strings gespeichert wird.
-
Thread
MEGA8 ADC Interrupt beeinflusst TWI Interrupt
starten // Die Ausgabemarke in die 2te Zeile setzen lcd_setcursor( 0, 1 ); lcd_string(">Booting..."); lcd_setcursor( 0, 2 ); itoa (SLAVE_ADRESSE,text,16); lcd_string("I2C Adress=0x"); lcd_string(text); for (int Index=0; Index<85; ++Index) {
adc_value = ADCW; //Store ADC value itoa (adc_value,text,16); lcd_setcursor( 0,4 ); lcd_string(text); for (int Index=0; Index<85; ++Index) { txbuffer[Index] = rxbuffer[Index]; } uint16_t brightness_i2c=0; uint16_t contrast_i2c=0; brightness_i2c=(rxbuffer[81
-
Thread
Verständnisfrage zu "volatile"
die Funktion uart_putInt macht folgendes: int uart_putInt(uint8_t i, bool newLine) { char stringNumber[3]; itoa(i, stringNumber, 10 ); uart_putString (stringNumber, newLine); return 0; } Falls ich die 100+ entferne - dann kommen nur "1" Werte (wie erwartet) Danke!
: > Kann es sein, dass itoa im Inneren die Variable überschreibt statt > kopiert? Nein. Denn C kennt nur Call by Value. Aber es kann ub geben, wenn Strings zu klein bemessen sind.
-
Thread
bytes senden mit c#
Hy ich wollte eine Zeichenkette senden und empfangen. Das empfangen get super aber ich bekomme keine bytes raus. Seht euch das Programm schnell mal an. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO.Ports; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { SerialPort p = new SerialPort("COM1", 9600); p.RtsEnable = true; p.Handshake = Handshake.RequestToSend; p.Parity = Parity.None; p.DataBits = 8;
-
Thread
Hex to ASCII
Hallo, habe mein *gutes* C-Buch grade nicht dabei. Ich suche eine Funktion die analog zu ultoa eine unsigned Long int in einen ASCII-String verwandelt. Also [c] unsigned long int Zahl = 1000; // 1000 dez = 0x03E8 char my_string[10]; hextoa(Zahl,my_string,10); [/c] soll dann als Ausgabe in my_string *0x000003E8* ergeben.