-
Thread
An die C-Profis: Datei einlesen und String teilen
[[String-Verarbeitung_in_C]] Aber mal davon abgesehen, brauchst du die ganzen Strings überhaupt nicht. Was du aber ganz dringend brauchen würdest, das ist ein C-Buch und 2 Monate Zeit um mal die allereinfachsten
Hallo Bernhard, Mein Fehler: "WRITE" ist natürlich ein C-String und sollte mit einem strcmp verglichen werden. Was aber nicht funktionieren kann, weil Data[i].RW kein C-String ist. [c] if ( "WRITE" == Data[i].RW ) //sobald ich hier die "" weg mach meckert
-
Thread
Informationen zu C vs C++ / aka Futter für die Diskussion
was > in C++11 oder C++17 hinzu gekommen ist. Gerade die Übersichtlichkeit und Größe des Code wurde durch die neueren C++-Versionen erheblich verbessert: [C] for (std::list<std::string>::const_iterator it
nachdem welcher Member im Konstruktor der union selbst initialisiert wird. Bei so einem Konstrukt [c]#include <string> #include <iostream> using std::string; union Foo { Foo () : str ("foo") {} ~Foo () { str.~string(); } string str; float f; }; int main () { Foo f; std
-
Thread
C++ Klassenbibliothek für AVR
Vorstellung davon WIE sauberer C++-Code auszusehen hat, und durch die Flexibilität von C++ führt das dazu dass fast jedes Projekt völlig anders aussieht. Das fängt schon bei so elementaren Dingen wie Strings an: der eine verwendet MFC-Strings, der andere STL-Strings, der nächste QT-Strings, wieder ein anderer die klassischen C-Strings, und manch einem ist das nicht gut genug und er schreibt sich seine eigene String-Klasse. Ich will nicht in der Haut dessen stecken
-
Thread
C: String splitten?
Abend, wie kann ich in WinAvr einen String splitten ? Ich habe gelesen, dass die Verwendung von "strtok_r()" nicht gut sein soll, das sie einige Bugs beinhaltet. Ich habe einen String der so aussieht: zahl;zahl das ganze soll nach ;
(unsigned char)schritte ); [/c] bekomm immer eiN Fehler, ein Arugment ist zu wenig, aber ich bekomme das nicht hingebacken. Bin noch neu in C. Danke
-
Thread
Objektinitialisierung mit Parametern im Konstruktor in C++
verzichten und dem KISS-Prinzip zu folgen, auch wenn die Ausgabe dann weniger elegant ausfällt. [c] ValueNumber numberValueVoltage; ValueNumber numberValueTime; ValueString stringValueError; //... numberValueVoltage.Draw(); numberValueTime.Draw(); stringValueError.Draw();[/c]
und > dem KISS-Prinzip zu folgen, auch wenn die Ausgabe dann weniger elegant > ausfällt. > > [c] > ValueNumber numberValueVoltage; > ValueNumber numberValueTime; > ValueString stringValueError; > //... > numberValueVoltage.Draw(); > numberValueTime.Draw(); > stringValueError.Draw();[/c]
-
Thread
Welche Programmiersprache auf µC
Speicher vom Heap angefordert und der Inhalt kopiert. Oder anderes Beispiel: Stringverkettung mit std::string. Und am Ende heult man im Internet rum, dass C++ so viel langsamer ist als C. Der Rest nimmts ungeprüft auf und verbreitet es weiter...
dass man mit string1 + string2 die Verkettung beider Strings als Ergebnis erhält – in reinem C war ja das Fehlen einer derart intuitiven String-Verarbeitung immer ein Kritikpunkt. Aber man kann natürlich in jeder
-
Thread
Linux ist endlich vom C89 Standard weg
davon aber in der Standardbibliothek ziemlich häufig abgewichen. Wahlfrei rausgegriffenes Beispiel: [c] std::string& std::string::insert(size_t, const string&, size_t, size_t); [/c]
> abgewichen. Wahlfrei rausgegriffenes Beispiel: > [c] > std::string& std::string::insert(size_t, const string&, size_t, size_t); > [/c] Ja, leider. Auch in der cppstdlib gibt es (Jugend)-Sünden. Das betrifft auch die Schnittstelle von std::vector<
-
Thread
Programmieren einer Menüstruktur in C
UImenuEntry Strukturen packen. Ja, es gibt noch einiges Verbesserungspotential wie function-pointer und Strings in den Progmem und non-blocking für den Microprozessor-loop(). Zuerst wollte ich aber einmal den Beispielcode zum laufen bringen und dann entsprechend umbauen... Mit C komme ich ganz gut zu recht
es läuft in C und C++, auch mit den moderneren C++ Varianten. Nur das alte Turbo C/C++ liefert den Fehler (im OnlineGDB ausgeführt). Die Funktionszeiger kann man mit typedef entschärfen, hier auch ohne Anzahl und
-
Thread
Benötige Hilfe betreffend eines C-Codes
Programms das Echo und für was die > Carridge Return Abfrage bzw. dies mit \0 ersetzt wird? \0 = "String ende zeichen" in C und was für ein echo?
) verraten dir wo ein Wort aufhört > bzw. dies mit \0 ersetzt wird? Damit ein C-String daraus wird!
-
Thread
HEX ausgabe mit printf in C
printf() bricht ab Ich meinte nicht, dass die Funktion printf() abbricht, sondern: wenn ich mit %c eine 0 in den String ausgebe, dann ist der resultierende String an dieser Stelle zu Ende. Ich vermute mal das printf() ist für die serielle Schnitte in etwa so umgesetzt: [c] sprintf(string, "%c", 0); rs232_puts(string); [/c] Und nach dem sprintf() sieht der String so aus: 0x00 0x00 ^ ^- Stringende 0 '------ Zeichen 0 Und was macht rs232_puts() aus dieser Zeichenkette?
-
Thread
Interrupt und PortC Atmega32
[c] DDRC = 0x00; // Port C als Ausgang defeniert [/c] Eher nicht... ;)
sprintf(string,"INT0"); lcd_string(string); _delay_ms(10); lcd_clear(); */ // Interrupt Code } [/c] so hab die interrupts ausgeschaltet jetzt gibt der immer alles richtig aus wenn
-
Thread
C-Code optimieren (passt nicht in Attiny2313) :( Gesperrt
lcd_string(",5"); } lcd_string(ausgabe); lcd_data(0xDF); lcd_string("C "); } [/c] macht und ob ein [c] void ausgabe_display_temp( uint8_t zeile, int8_t hv, uint8_t lv) { lcd_setcursor( 0, zeile ); lcd_string( zeile == 1 ? "A " : "I " ); utoa( hv, ausgabe, 10 ); lcd_string( ausgabe ); lcd_string( lv == 128 ? ",0" : ",5" ); lcd_data( 0xDF ); lcd_string( "C " ); } [/c] signifikant kürzeren
-
Thread
AT90USB162 Endpoint Interrupts funktionieren nicht
diverse Typen wie String oder StringBuilder, aber in C auf einem AVR hab ich sowas noch nie benutzt.
) + sizeof(USB_VENDOR_NAME) - sizeof(wchar_t), .bDescriptorType = STRING_DESC, .bString = USB_VENDOR_NAME }; [/c] mit USB_VENDOR_NAME [c] #define URACOLI_USB_VENDOR_NAME L"URACOLI" [/c] Beim AVR-GCC sind wide strings standardmäßig 16 bit breit, daher
-
Thread
C# String splitten
Hallo, kann mir einer ein einfaches Beispiel geben, wie ich in C# einen String splitte. Der String liegt wie folgt vor string dataReceived = "00,01,02,ff"; In den 4 Felder sind 4 Byte Werte formatiert als Hex. Ich muss nun aus dataReceived byte val0
Mit string.Split() erst die Werte extrahieren und dann parsen: [c] string input = "00,01,02,ff"; IEnumerable<string> byteStrings = input.Split(','); IEnumerable<byte> byteValues = byteStrings.Select(b =
-
Thread
string terminieren in C
Hallo, in meinem string steht immer "\011parameter1\011", obwohl ich eigentlich nur "parameter1" reinschreibe, wie kann ich den string terminieren, damit ich nur "parameter1" stehen habe. danke
-
Thread
lwip string auswerten
"test" für bla123 [/c] Bei POST requests könnte man mit FormData arbeiten, aber bei GET muss man den Query String selbst kodieren. Folgende Funktion nimmt einem die Arbeit ab: [c] function toQueryString( p ){ var
zurück, das jedes Zeichen einzeln enthält. Man kann diesen wert z.B. in eine Variable speichern: [c] var characters = "12".split(''); [/c] Der String kann auch von einer Variable oder sonst wo kommen: [c] var string = "12"; // Der String "12" wird in der Variable string gespeichert var characters
-
Thread
GPS-String zerlegen mit C für AVR
Hallo, als blutiger Anfänger in Sachen 'C' mit AVR versuche ich den String einer GPS-Maus zu lesen. Das klappt eigentlich schon gut, nun will ich ihn in seine Bestandteile zerlegen. Ich habe ein paar Beispiele mittels der Suche gefunden, fast
Na ja, so einen "strtok Ersatz" hat man aber auch schnell selber gemacht. ungetestet: [C] char * part; char * pLoop; char String[] = "a,b,,c,d"; uint8_t finished = false; pLoop = String; while( !finished ) { // pLoop zeigt auf den Anfang des nächsten Eintrags
-
Thread
C-Code für Datenempfang mit USART
Ein Wort noch in Code strategischer Sache. Sowas [c] if(String_Counter<UART_MAXSTRLEN&&String_Complete==0) [/c] ist schlecht. Das ist eine Wurscht aus Buchstaben, bei der man erst mal 15 Sekunden suchen muss, wo ein Wort aufhört und wo das andere anfängt
schon schwierig genug. Da muss man dem Leser nicht auch noch Prügel zwischen die Beine werfen [c] if( String_Counter < UART_MAXSTRLEN && String_Complete == 0 ) [/c] viel besser zu lesen! Und achte auf deine Einrückungen! Konsistenz ist wichtig. Wenn du nach jeder öffnenden { um
-
Thread
µC reagiert auf falsche Antwort
eigentlich funktioniert bzw. funktionieren sollte. Man erkennt das zb hier ziemlich deutlich [C] } while (Empfangsdaten == 'OK'); [/C] in dieser simpel anmutenden Zeile sind 3 schwere Fehler "versteckt". Für jemanden, der mit Strings in C umgehen kann, sind sie jedoch nicht versteckt. Für
// den String rausgeben // falls in der Zwischenzeit was reinkommt, dann einfach mal von // der UART abholen Senden ("a"); if( ri_u0c1 ) Empfangen(); Senden ("t"); if( ri_u0c1 ) Empfangen
-
Thread
[C] Textdatei in String speichern
} fclose(tf);[/code] Also muss ich mir nur noch einmal anschauen, wie man einen String dynamisch vergrößern kann. Habe sowas seit Ebigkeiten nicht mehr gemacht. Danke ann alle. MfG
. if(ptr==NULL) exit(2); [/c] Lösung: ptr_tmp und nach dem Test auf 0 wieder ptr zuweisen.
-
Thread
Grundlegende Frage zu Strings in C
Hallo! Ich hab da mal eine grundlegende Frage: Also in C werden ja Strings mit \0 abgeschlossen. Muss ich, wenn ich jetzt z.B. "Hallo" in einen String speichern will, dann den String mit: > char feld[4]; oder > char feld[5]; oder > char feld
Übersetzter. Stimmt alles. Aber wir reden hier nicht von Raketentechnik. Wir reden von einem Kapitel 'Strings in C'
-
Thread
[c] atoi mit 2d-Array bei uC
= `\0` setzt (`\0` ist das Sentinel, was bei NTBS erwartet wird). Besser wäre natürlich ein [c] std::array<std::array<char, 8>, 10> ucInputData; [/c] und ein [c] template<auto N> int atoi(const std::array<char, N>&); [/c] Ansonsten hat atoi() das große Problem, das atoi() `0` liefert
> Umwandlung stoppt. Stimmt nicht ganz: - error wir benutzt, wenn ein range-error auftritt (C99 konform) - bei anderen Fehlern wie nach wie vor `0` zurück gegeben. Nur bei nicht C99-konformen Implementierungen wird errno == EINVAL gesetzt: https://en.cppreference.com/w/c/string/byte/strtol
-
Thread
C/C++: Frage zu (un)signed overflow
Ich habe da eine Frage zum Thema Overflow von signed/unsigned Datentypen. Folgendes Beispiel: [c] #include <iostream> #include <string> #include <cstdint> using namespace std; int main() { string str; cin >> str; size_t len = str.length(); uint16_t i; for
mit einem String, der laenger ist als der Schleifenzaehler i fassen kann (in diesem Beispiel mit einem 70.000 Byte langen String), so ergibt sich eine Endlosschleife. Soweit so logisch und auch erwartet. Aendere
-
Thread
MD5 Verschlüsselung in C Gesperrt
Ich versteh' ehrlich nicht, was denn daran nun so schwer ist ... [c] #include <sys/types.h> #include <openssl/md5.h> #include <stdio.h> #include <string.h> #define STRING "The quick brown fox jumps over the lazy dog.\n" int main(void) { MD5_CTX ctx; unsigned char digest[16]; int i; MD5_Init(&ctx); MD5_Update(&ctx, STRING, strlen(STRING)); MD5_Final(digest, &ctx); for (i = 0; i < 16; i++) printf("%02x", digest[i]); putchar('\n'); return 0; } [/c] (Das bezieht sich auf die OpenSSL-Implementierung
-
Thread
C befehle für anfänger
Unicode löst man eleganter. >was ist denn wenn " " in der Mitte sitzt? Dann ist das total egal. C-Strings hören mit nem Nullbyte auf. Findest Du das opt. gelöst? Der Code da war falsch, ansonsten löst dein BASIC das auch nicht anders.
libc/manual/html_node/Extended-Char-Intro.html Die C-Bibliothek bietet dazu natürlich sämtliche String- und Zeichenfunktionen einmal für ASCII (strlen...) und einmal für Breitzeichen an (wcslen). Beim Lesen und Schreiben gilt gleiches (fgets... und fwgets
-
Thread
C Problem mit Umwandlung
ASCII-Zeichen umwandelt. Ein kleines Beispiel: char buf[4]; bin2ascii8(1, buf, 1); // String "1" bin2ascii8(1, buf, 2); // String "01" bin2ascii8(199, buf, 3); // String "199" Gruß Fiffi
, 10); -> Konvertiert Wert 137 in String "137"
-
Thread
Hex in dezimal in c
versuche einmal zu helfen. Ich weiß zwar auch nicht was du willst, aber ich denke einmal, dass du einen String hast und mit dem rechnen musst. Bei meiner Handy Fernsteuerung ist das auch so. Ich bekomme als String Hex Zahlen und muss die interpretieren. Ich mache das wie folgt: [c] uint8_t str2int(char data){ data -= '0'; if (data>9) data-= 7; return data; } [/c] Um nun z. B. einen String pdu="9B" in eine Zahl zu wandeln, schreibe ich: [c] uint8_t tmp; tmp = str2int(pdu[0])*16 + str2int(pdu[1]); [/c] Das ganze kann man natürlich auch mit Oktal- oder
-
Thread
Es erscheint nichts auf dem Seriellen Monitor?
Schon mal ein [c] Serial.println(preferences.getString("roomname_long", "")); [/c] probiert?
Zeile 14 und 15 änderst du in [c] Serial.println(preferences.getString("string_1", "%")); Serial.println(preferences.getString("string_2", "%")); [/c] Wenn da ein % steht, dann war der Wert vorher nicht da. Testing T. schrieb
-
Thread
problem mit c strings
uint16_t j; uint16_t k; char ic[] = "abcd"; char ic2[] = "dcba"; unsigned char my_string[]="123"; //*************** the global init init(); lcd_setadress(0,0); //my_string[40]="Hallo"; //strcpy(my_string, "test"); //lcd_stringr(my_string); //lcd_writechar
@echo " " #the object targets (% means all) (depend on the source code) #this compiles the *.c --> *.o (only those in OBJ-list) ${OBJ}: %.o: ${SRCDIR}/%.c @echo "---COMPILER----------------------------------------------------------" ${COMPILE} -o ${OBJDIR}/$@ ${SRCDIR}/$*.c @echo "--
-
Thread
Feedback zum Artikel "Plattformunabhängige Programmierung in C"
being treated as errors [/pre] Übrigens optimiert GCC mit Optimierung bei der memcpy-Version [c] #include <string.h> #include <stdint.h> float fun (uint32_t i) { float f; memcpy (&f, &i, sizeof (f)); return f; } [/c] den memcpy-Ausruf komplett raus. Getestet mit GCC 4.3
deine im Artikel erwähnte Formulierung > " empfiehlt sich die Wandlung in Festkommazahlen oder Strings. " > ansehe, kommt auch ein geübter C-programmierer nicht sofort auf obige > Lösung. Da du aber die Integerproblematik sehr ausführlich behandelt und > mit Beispielen versehen hast, würde ich
-
Thread
Einladung zu einem Test in C
@Gast: >>Was war das? >>char *(*(var[10]))(char *string1, char *string2) Da habe ich auch mein C-Buch gefragt ;) alo ich versuchs mal: ein array "var[10]" (die Klammern sind unnötig, [] geht VOR *) aus: Pointern auf: Funktionen die: zwei Pointern
Ja, so habe ich das sogar ohne C-Buch (aber mit Nachdenken :) gedeutet. Die Namen string1 und string2 haben dabei lediglich dokumentarischen Charakter.
-
Thread
Fragen zu C / embedded C
. Typedef ist wahrscheinlich etwas ordentlicher. Es ist aber egal wie man es macht oder? 3. Strings in C String sind in C nichts anderes als Char Arrays mit einer abschließenden 0. Wo ist der Unterschied im Speicher zwischen einer abschließenden 0 und einer "echten" 0. Beispiel: "HALL0" =>
Zweistein schrieb im Beitrag #3732050: > 3. Strings in C > String sind in C nichts anderes als Char Arrays mit einer abschließenden > 0. > Beispiel: > "HALL0" => 'H'|'A'|'L'|'L'|'0'|'0' ? > Hier könnte bei der Speicherauslesung auch schon eins
-
Thread
Wie statisches HTML/css/javascript in C/C++ Projekte einbinden?
noch interaktiv entwickelt wird, ist es eine Quälerei. Bei jeder Änderung muss das Script in einen C/C++ String konvertiert werden, was mit all den verschachtelten Anführungszeichen und Escape Strings einfach Kacke ist. Bestimmt gibt es da geschicktere Techniken, so dass man einfach dem Buildprozess
" folder. .incbin "../script.js" .global SCRIPT_JS_END SCRIPT_JS_END: // append string terminating zero .byte 0 // define and publish size info for access from c/cpp .global SCRIPT_JS_SIZE SCRIPT_JS_SIZE: .int SCRIPT_JS_END - SCRIPT_JS_START [/code] da bin ich vermutlich
-
Thread
Ja ja, Arduino, C++ und die Strings.
). Dafür habe ich schon folgendes probiert: [c] client.read(string2send); string2send.replace("$", ","); Serial.write(string2send); [/c] sowie auch: [c] string2send = client.read(); string2send.replace("$", ","); Serial.write(string2send
einmal (char-)Arrays? Mit folgendem Code bringe ich die Fehlermeldung in der ersten Zeile weg: [c] String string2send = String(client.read()); string2send.replace("$", ","); Serial.write(int(string2send)); [/c] Scheint irgendwie logisch, obwohl ich es nicht zu 100% verstehe. Aber jetzt hängt
-
Thread
Strings ohne Null am Ende? Gesperrt
Was willst du erreichen? Welchen Sinn machen nicht 0 terminierte Strings in C?
C++ mehr. C++ und C sind 2 verschiedene Sprachen. Und so sollte man das auch behandeln. > Gibt es > vielleicht ein #pragma, mit dem man das String-Abschneiden (wieder) > einschalten kann? Wenn
-
Thread
String in char convertieren
memcpy mit string.c_str() ?
So: String input = "Hallo test"; Serial.println(input.c_str());
-
Thread
Detein in C programmiersprache
[c]fread( data, 1, BLOCK_SIZE, file );[/c] nicht ? [c]size_t fread(void *puffer, size_t blockgroesse, size_t blockzahl, FILE *datei);[/c]
each linefeed is replaced with a carriage-return – linefeed pair." Unter Linux dagegen (fopen(3c)): The mode string can also include the letter 'b' either as a last char‐ acter or as a character between the characters in any of the two-char‐ acter strings described above. This is strictly
-
Thread
Maximale Stringlänge in C
seine Sache. Es kann die Zeichen einfach einzeln im WOM ablegen und braucht dann überhaupt keine Strings. Und in den WOM paßt mehr rein, als man so einem kleinen µC zutraut ;-)
und ers tneuere > Versionen können bis 2Gb, bei den alten ist bei 255 zeichen Schluß weil > ShortString.. > Also müßte ich es genauso umständlich wie in C machen, wenn es mehr > werden sollen :-( dafür kann Pascal auch eine \0 im String speichern.
-
Thread
liste stringoperationen in c
gefährlich. Das Problem in C ist nun mal, dass es kein wirkliches 'String'-Konzept gibt, in welchem ein String ein eigenständiger Datentyp ist. Da ist das Problem wiederrum die dynamische Natur von Strings. C hat dafür nur ein Konzept
das dynamisch allokierte Array. Und das wäre zu weitreichend, als das man eine einfache Sprache wie C damit belasten wollte. Daher besteht String-Verarbeitung in C hauptsächlich aus einem Satz von Konventionen und einer Handvoll oft benötigter Funktionen, die diese Konventionen berücksichtigen.
-
Thread
TC35 C+ Programmierfehler?
(last != now.minute()) { byte a = h; byte b = t; byte c = sensorValue; dataString += String(a); dataString += ","; dataString += String(b); dataString += ","; dataString += String(c); dataString += ","; dataString += String
now.minute()) { byte a = h; byte b = t; byte c = sensorValue; dataString += String(a); dataString += ","; dataString += String(b); dataString += ","; dataString += String(c); dataString += ","; dataString += String
-
Thread
Problem mit String
keine Kommentare - der Quelltext ist nicht vollständig - es wäre nett, den Quelltext in [pre] [c] ... [/c] [/pre] formatiert einzufügen
kaschieren ist keine Problemlösung. Lies wenigstens die Minimalversion dessen, was du eigentlich über Strings aus deinen Büchern wissen solltest. http://www.mikrocontroller.net/articles/FAQ#Wie_funktioniert_String-Verarbeitung_in_C.3F
-
Thread
C - String aus Konstanten zusammensetzen
ps: Oder du schreibst deine #defines gleich als Strings, dann geht es auch [c] /*2*/ { 0x67, 2, "\x55" "\x66" }, [/c]
auf dem Kesselchen gibt. Das gleiche gilt natürlich auch für Arrays. Mein Rat: Wenn es kein C-String ist oder sein soll, dann auch bitte die Verwechselungsgefahr ausschließen.
-
Thread
C String an Terminal ausgeben
(); serial.print(c); [/c] reicht vollkommen, um ein Zeichen auszugeben. Einen STRING c zu nennen ist recht ungünstig, c kling wie char und das ist ein EINZELNES Zeichen. >Logischer Denkfehler? Mangelnde Grundlagen
ist aber leider Gottes, dies ohne den Arduino Befehlen zu schaffen. > > > [c] > char c; > > c = blueToothSerial.read(); > serial.print(c); > [/c] > > reicht vollkommen, um ein Zeichen auszugeben. > > Einen STRING c zu nennen ist recht ungünstig, c kling wie
-
Thread
Probleme mit C-Funktion!!!
& 0xff,address >> 8); while (*text) { out(0xC0,0,(*text++)-0x20); } } void main(void) { lcd_write_string_xy(3,3,"Hallo Frank"); }
& 0xff,address >> 8); while (*text) { out(0xC0,0,(*text++)-0x20); } } void main(void) { lcd_write_string_xy(3,3,"Hallo Frank"); }
-
Thread
Wie kann ich folgenden C-Code mit einer Schleife kürzer machen?
das nichts, was ich von einem Neuling erwarten würde. Was du aber tun solltest: Besorg dir ein C Buch. Was du hier geschrieben hast [C] .... #define LED_8_PORT PORTD #define LED_8_BIT PC4 // Lauflicht-Schleife for(uint8_t n=0; n<8; n++) { // Strings zusammensetzen PORT
hab ich schon diverse internetseiten in php programmiert, was ja in gewisser weise ähnlichkeit mit c hat, da versuche ich hin und wieder, die php logik in den c code zu übertragen, was anscheinend nicht 100% klappt :-D weil das zusammensetzen von strings aus mehreren bestandteilen läuft seit jahren
-
Thread
EEPROM 24C08
(int8_t date, int8_t month, int8_t years, int8_t hours, int8_t minutes, int8_t temp){ i2c_start(Dev24C02+I2C_WRITE); i2c_write(0x00); //Schreibe ab Startadresse i2c_write(date); i2c_write(months); i2c_write(years); i2c_write(hours); i2c_write(minutes); i2c_write
for(uint8_t i = 0; i <= 254; i++){ deleteEeprom(i); sprintf(tempC,"%d", i); lcd_setcursor(0,2); lcd_string(tempC); } [/c] Wenn ich nun den Speicher probeweise auslese, haben nicht alle Bytes einen Wert von 1. Ich weiß nicht mehr weiter. Die Ausgabe
-
Thread
itoa in C18 Compiler will nicht so wie sie soll
in other implementations. * @param value value to convert * @param s pointer to destination string object * @return The {\bf ltoa} function returns the value of {\bf s}. */[/C] Leider auch im Handbuch keine weiteren Hinweise oder Beispiele.
numberToPrint, str ); > } > > Im Schrittmodus steht nach itoa bei mir tatsächlich "12345\\0\\0" im > String. > Alles andere hätte mich auch gewundert ... > > vg > > Jürgen Hab folgendes super minimal program probiert: [c]#include <stdlib.h> #include <delays.h> //---------------------------
-
Thread
C# Verständnisfrage
Der erste Konstruktor [c] public Communication(String comport, N_Line n_LineDelegate) : this(comport) [/c] ruft über "this" den zweiten Konstruktor auf.
/ ... } private void bla(string s) => Console.WriteLine(s); } [/c]
-
Thread
ATMega Flash wird langsam knapp. Upgrade o. Plattformwechsel?
[c] char * stringReplace(char *search, char *replace, char *string) { // Speicher reservieren tempString = (char*) malloc(strlen(string) * sizeof(char)); [/c] Naja, theoretisch korrekt, praktisch
landen. und bei mehreren Sprachen brauch man nur den pointer (strings_de) verändern. [c] void foo ( texte_e text ){ sprintf_P( buffer , strings_de[text]); } [/c] auch Lesbarkeit: [c] if(menuSelector == 2) [/c] ist nichtssagend. mach dir dafür
-
Thread
Touchscreen Routine, in C = Problem!
so meine ich: [c]void main () { //code Touchscreen ///... } [/c] Kann mir mal einer das erklären? Bitte! Gruß
und geht nicht :( [c]void Touchscreen_kalibrieren (){ gedruckt_calib = 0; //CopyConst2Ram(msg,touchscreen); // Copy "Touchscreen" string to RAM Glcd_Write_Text("Touchscreen