-
Thread
Strings direkt in Funktion eintragen
String schrieb im Beitrag #4812250: > kann man eine Funktion > aufrufen? klar nur viel einfacher [c] fkt("text", "nocheintext"); [/c]
String schrieb im Beitrag #4812262: > das heißt ich muss garnicht mitteilen, dass call by reference verwendet > werden soll C übergibt keine Arrays an Funktionen, sondern /immer/ nur Adressen, d.h.
-
Thread
alle möglichen kombinationen bekommen
{ nummer_1[3] = i4; // hier noch output } } } } [/c] aber wie gesagt, das ist ja beschränkt auf eine spezielle breite. hier eins für variable outputlängen: [c] #include <iostream> #include <vector> #include <list> std::string buildString
(buildString(curCombination, alphabet)); [/c] schreibt man die Daten direkt in einen großen speicher und gibt den am Schluss aus, sollte es nochmal viel schneller gehen: am Anfang irgendwo: [c]#include
-
Thread
ATMega 16 Thermometer Display zeigt nichts an
Den ISP nicht berücksichtigen, den habe ich nicht mit angeschlossen. Hier ist der Quelltext: [C] #define F_CPU 4000000UL #include <avr/delay.h> #include <avr/io.h> #include <string.h> #include <avr/interrupt.h> void LCD_send_command(unsigned char cmnd); void LCD_send_data(unsigned
(firstAddress[y-1] + x-1); _delay_ms(10); } void LCD_print(char *string) { unsigned char i=0; while(string[i]!=0) { LCD_send_data(string[i]); i++; } } ISR(ADC_vect) { char tempC, tempF, display; float tempff; tempC = ADCH;
-
Thread
Anfängerfrage zu Strings am LCD
("Hallo"); // Ausgabe der 1. Zeile lcd_setcursor( 0, 2 ); lcd_string(zahl); // Ausgabe der 2. Zeile }[/c] [c]void lcd_string( const char *data ) { while( *data != '\0' ) lcd_data( *data++ ); }[/c]
"Anzahl Schritte", "4", 4, }; [/c] So geht es nicht [c] lcd_string(a10.zeile_eins); // Ausgabe der 2. Zeile [/c] Der Versuch den String in eine Hilfsariable zu kopieren und diese dann auszugeben scheitert ebenfalls. [c]
-
Thread
Zeiger auf Stringarray
Also Variante 2 ist es, die Sprache wird erst bei der Ausgabe verwendet. Die String-Struktur lässt sich nicht so anlegen: [c]__flash unsigned char *strings[][maxSprachen]; [/c] Der Compiler will es so: [c]__flash unsigned char strings[][maxSprachen][LAENGE];[/c] Beim anlegen
Das ganze wird fest angelegt, daher auch im Flash: [c] __flash const diestruct_t arr[] = { { stringsNeu[1],1,2 }, { stringsNeu[2],3,4 }, { stringsNeu[3],4,5 }, { stringsNeu[4],5,6 }, }; [/c]
-
Thread
Probleme bei Java Syntaxchecker
() throws ParseException { testCase("A(-,B(C),-,D(E(-,F(G,H)),I))"); } @Test(expected = ParseException.class) public void empyString() throws ParseException { testCase(""); } @Test(expected = ParseException.class) public void
|| ((int) kd.charAt(i) >= 65) && ((int) > kd.charAt(i) <= 90))) etwas schreibst wie > char c = kd.charAt(i); > if ((c == '(' || c == ')' || c == ',' || c == '-' || ((int) c >= > 65) && ((int) c <= 90))) mfg Andreas
-
Thread
Überlauf in C erkennen
vernueftigen 16Bit Compiler jagen und den Assembler Output hier posten Beispiel: router:~# cat t.c main() { unsigned short a,b; long c; a=40000; b=40000; c=a+b; printf("res: %ld\n",c); if (((long)(a+b)) > 65535) { puts("true"); } } router:~# gcc -S t.c router:~# cat t.s .file "t.c" .version "01.01" gcc2_compiled.: .section .rodata .LC0: .string "res: %ld\n" .LC1: .string "true" .text
-
Thread
Was will der Compiler mir sagen "C++"
File aus und bekomme folgendes der compiler schreibt eine exe Datei mit dem Namen des Headers und c++ MyStrings.exe obwohl das Project Test1 heiß und er auch Test1.exe geschrieben hat. Bitte nicht schimpfen ich komme aus der Pascal Welt und programmiere in C weil ich gerne Arduinos programmiere
Beim gcc, sowie beim clang, ist die Option um ein ".o" file zu erhalten übrigens "-c". [code] gcc a.c -c -o a.o gcc b.c -c -o b.o gcc a.o b.o -o prog.exe [/code] Den Zwischenschritt kann man zwar auch den GCC implizit machen lassen, das hier tut das selbe: [code] gcc a.c b.c
-
Thread
Fehlermeldung "must be const in order to be put into read-only section.."
Ja, so geht es: [c] const char * const DeutschHead[] PROGMEM = { TextDEHEAD1, TextDEHEAD2, TextDEHEAD3, }; [/c]
Programm Konstanten im flash zu ändern, ich weiss doch was Konstante sind. z.B. // const char string_0[] PROGMEM = "String 0"; // "String 0" etc are strings to store - change to suit. const char mo0[] PROGMEM = " "; const char mo1[] PROGMEM = "Jan"; const char mo2[] PROGMEM = "Feb"; const
-
Thread
C#: Fehlermeldung NullReferenceException
das Bild in der Methode btn_SendImage öffne, dann wird die while Schleife korrekt ausgeführt. [c] public void btn_SendImage_Click(object sender, EventArgs e) { string filePath = @"C:\Test\"; string fileName = "Image.jpg"; imageStream = new
lbl_Size.Text = "Picture size [bytes]: " + imageStream .Length.ToString(); pictureBox.Image = System.Drawing.Image.FromStrea(imageStream); } [/c]
-
Thread
Datei in ein C-programm einlesen
if( !feof( inFile ) ) { printf( "Fehler beim Lesen\n" ); } fclose( inFile ); [/C] nur so als Skizze (weil die Sache mit EOF gerne falsch gemacht wird. Auch in Büchern). Die Details findest du überall in jedem C-Buch.
Übersicht über das wichtigste gibt es auch hier: http://de.wikibooks.org/wiki/C-Programmierung:_Dateien Grüße
-
Thread
C & gcc & sscanf & longdouble als xx.xxxxxxxxE+yy
den User wieder aufgerufen, daa wir das eh neu vom Bus eingelesen. Gruß Andreas PS: Gibt es in C eine Funktion, die analog zu int main(int argc, char *argv[] funktioniert? Aufrufen mit einem String und in der Funktion bekommt man die einzelnen Argumente aufgedröselt geliefert?
bazo schrieb im Beitrag #4978788: > PS: > Gibt es in C eine Funktion, die analog zu int main(int argc, char > *argv[] funktioniert? Aufrufen mit einem String und in der Funktion > bekommt man die einzelnen Argumente aufgedröselt geliefert? Das macht
-
Thread
Adresse einer Variablen in ein String schreiben
zusammen, kann mir eventuell einer sagen wie ich mit AVR Studio Adresse einer Variablen in einen String kopieren kann. z.B. [c] char testvariable; printf("%p",&testvariable); //ausgabe der Adresse auf dem Bildschirm. [/c] ich möchte jetzt aber diese Adresse in ein String kopieren, vorzugsweise
habe eventuell dran gedacht > > char adresse[]; Nope. Du musst schon eine Länge vorgeben [C] char adrString[20]; sprintf( adrString, "%p", &testvariable ); [/C]
-
Thread
runtime error in VB
allerdings die 32 Bit nicht in eine Hex-Zahl und dann in ASCII-Zeichen umwandle, sondern sofort in einen String dann gibt es gar keinen runtime error mehr, jedoch ist die Frequenz dann völlig falsch. Die Hardware meiner Schaltung funktioniert, das Programm auf dem uC auch. Ich dachte es würde vlt am USB-Kabel
von umliegenden Netzteilen etc einen Einfluss haben können. Ansonsten, hier ist der VB-code: [c]Option Explicit Private Sub MSComm1_OnComm() MSComm1.Settings = "9600,n,8,1" End Sub Private Sub Command1_Click() Dim FREQF As String Dim WF As String Dim FREQ As Long Dim ADD As Long
-
Thread
C# - by reference / by value an Funktion?
Hallo zusammen, ich habe die ersten Schritte in C# gewagt und bereits eine Frage bzgl. der Übergabe von Objekten an Funktionen. Ändere ich eine Variable eines Objektes innerhalb einer Funktion, so wird die Änderung im Objekt abgespeichert. In C "
Quatsch, immer diese Arroganz der sogenannten C und C++ Kenner. Sind nicht in der Lage über ihren Tellerrand zu schauen.
-
Thread
AtUsbHid.dll mit c# verwenden
weiter nur bekomme ich jetzt ne fehlermeldung vieleicht kann mir ja jemand weiterhelfen wäre cool [c]using System; using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices; namespace ConsoleApplication1 { class Program { static void Main(string
[c] using System; using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices; namespace ConsoleApplication1 { class Program { static void Main(string
-
Thread
Einstieg in Python
Eingabe-Parametern? Könnte man aufstellen, ist aber doch eher unhandlich. Die Übergangsfunktion ist trivial, da String immutable ist. Also auch eher nutzlos. Wenn man jetzt sagt OOP ist böse, frage ich mich, ist auch die String-Klasse böse? Nahezu jede Sprache außer C hat eine String-Klasse (selbst die Nicht-OOP-Sprachen
Ich verstehe die Leute nicht, die hier so gegen OOP sind. Nehmen wir einfach mal ein string in Python, der ein Objekt und kein char-array ist. Machen wir eine Schleife über die Buchstaben: for LETTER in STRING: so einfach geht es in Python. In c braucht man eine Krüppelvariable zum
-
Thread
präzise Schaltuhr
überschritten haben. Es ist schon recht nervig, ganze Routinen in Assembler schreiben zu müssen, die in C nur wenige Zeilen wären. Ich würde daher dazu raten, in C weiter zu machen. Peter
geistreichen Beitrag: > Es fehlt mir aber hier der >entscheidende „Kick“, der richtige Einfall. >Nimm C. ;-) beziehen. Oder war da etwar Vitamin C gemeint? Der Rest des Textes war nur ein wenig ungünstig angeordnet und sollte auf keinen Fall gegen C an sich gehen. Ich will es mal noch etwas anders
-
Thread
daten am seriellen Port mitschreiben c#
Hab ein Programm mit einigen Buttons. Wenn ein Button gedrückt wird schreibt schreibt er einen String an den Port. Diesen String möchte ich auch in einer .txt mitschreiben. Also eine Art Daten Logger bei jedem Button ein: [C] using (System.IO.StreamWriter file = new System.IO.StreamWriter
sollten nicht mit dem seriellen Port reden. Ein Kommunikationsobjekt bauen, das eine Methode write(String) hat, die von den Knöpfen aufgerufen wird. Was das Objekt mit den Strings macht (seriell, loggen, wegwerfen, UDP), ist dann 1) den Knöpfen egal und 2) steht nur an einer Stelle im Programm.
-
Thread
Ist mein Mega 128 Kaputt
Hallo Ja genau das habe ich am anfang gemacht so wars auch unter Linux C++. String mit string funktionen. Nur einer sagt die kosten viel Resourchen und mann sollte memcpy vorziehen. nun das habe ich gemacht und meine Probleme begannen. Nur noch eine Frage zu extern
Martin wrote: > Hallo > > Ja genau das habe ich am anfang gemacht so wars auch unter Linux C++. > String mit string funktionen. > > Nur einer sagt die kosten viel Resourchen und mann sollte memcpy > vorziehen. Vergiss diesen Unsinn. Vor allem dann, wenn deine Alternative lautet:
-
Thread
ESP32 sethostname klappt nicht
aus einem Struct an einen Client zu schicken, wenn ich meinen Struct Element für Element als JSON String zusammenbaue wie dargestellt? Die Laenge scheint ja unbegrenzt zu sein. Also Name des Elementes + String(Data.xyz). [c] //First request will return 0 results unless you start scan from somewhere
(true); } } json += "]"; request->send(200, "application/json", json); json = String(); }); [/c]
-
Thread
Python 3 Stringverarbeitung Suche nach Sternchen
[c] 002131.9294*kWh [/c] Wie man sieht kann ich den String zwischen den Klammern rausschneiden. Leider scheitere ich nun dran, die Postition des *-chens zu finden. Habt ihr eine Idee, wie ich in Python
Hi Jörg, Ich such mir in dem String die Positionen der Zeichen "(" ")" "*" und dann schneide ich den STring genau den den Positionen auseinander. [c] StartIndex = Speicherblock.find("(") #Finden von der öffnenden Klammer
-
Thread
string oder int an Display ausgeben
Ok werde ich mich mal Einlesen, Danke schon mal. Also sehe ich das richtig, das es unter C keine Variable "string" gibt, um z.B. folgendes zu Bauen: [c] string text; text = "Hello World"; lcd_set_cursor(0,LINE0); lcd_putc(small_font, text); [/c] Wo sind die Unterschiede
relevant sind? Das hat doch alles nichts mit Deiner Frage: >Also sehe ich das richtig, das es unter C keine Variable "string" gibt,... zu tun. Es gibt zwar Unterschiede zwischen K&R-C, ANSI-C, C99 usw. Aber die betreffen Deine Frage nicht. Gerade in Bezug auf die Frage nach C-Strings. Was die Frage
-
Thread
[C++] Parsen von serielen float(Komma) Daten
zweite mal das ich mich mit dem parsing, von seriel (vom Receiver)"empfangenen", gps NMEA bzw. RAWX Strings auseinandersetzte. Beim ersten mal hab ich nur NMEA Strings geparsed und dabei für lat und lon immer längere doubles erhalten aber immer ohne Kommastellen, das war aber nicht wirklich ein Problem
hab zwei verschiedene ublox GPS-Module verwendet und beide Male hat es prima geklappt. SO ein NMEA-String ist ja nicht unendlich schwer zu parsen.
-
Thread
UART Datenstrom mit Array vergleichen
rx0_buffer[2] = rx0_buffer[1]; rx0_buffer[1] = rx0_buffer[0]; rx0_buffer[0] = ((uint8_t)(c)); mmi_rx0_string_analyze(); } } void mmi_rx0_string_analyze (void) { cmp_buffer[6] = 0x01; // vergleichs-array zum test einfach mal fest definiert cmp_buffer[5] = 0x02
de.wikipedia.org/wiki/Warteschlange_%28Datenstruktur%29#Implementierung_als_Ringpuffer Zu dem Problem einen String in einem anderen zu finden, wobei die Anfangsposition sich verändern kann, gucke mal in "Algorithmen in C" von Sedgkwick. Gibts, denke ich, auch online.
-
Thread
Leseprobleme mit dem DHT21 an einem D1 Mini V3
Ich weiß nicht ob das ein Fehler ist, das sieht aber für mich komisch aus : [c] time_t now = time(nullptr); now = now + 3600 + 3600; String time = String(ctime(&now)); [/c] Es wird die Variable "now" deklariert aber in "time.h" gibt es die Funktion "now
uint16_t packetIdPub4 = mqttClient.publish(MQTT_PUB_Error, 1, true, String((fail_counter)).c_str()); delay(100); uint16_t packetIdPub5 = mqttClient.publish(MQTT_PUB_Messages, 1, true, String((total_counter)).c_str()); delay(100); return; } [/c] > > Mathias
-
Thread
uip string ausgabe
Hallo, ich möchte gerne den ADC Wert auf der Wbseite als string angezeigt bekommen und nicht als Balken,aber so wie ich das jetzt hab bekomm ich kein string angezeigt. könnte mir jemand weiterhelfen. [c] static unsigned short generate_adc_status(void
Das wundert mich nicht. Das ... [c] } %2d // <<<---------------- //sprintf(&buffer[0]," <img src=\"balken.gif\" width=\"%4d\" [/c] ... compiliert ja nicht mal.
-
Thread
Fehler bei Programmieren von C
bekommen, aber nichts hat wirklich geholfen. Andauernd bekomme ich folgende Fehlermeldungen: quelltext.c:22:20: error: expected expression before '[' token quelltext.c:55:1: error: expected expression before 'Mensa_Essen' quelltext.c:82:17: error: expected expression before 'ISO8601_JJJJMMTT' quelltext.c
Die Aufgabenstellung gibt es hier: http://www.c-plusplus.de/forum/322752
-
Thread
FT800 display list handling
; FTImpl.Cmd_Text(FT_DISPLAYWIDTH / 2, FT_DISPLAYHEIGHT / 2, 31, FT_OPT_CENTER, Display_string); FTImpl.DLEnd(); // end the display list FTImpl.Finish(); // render the display list and wait for the completion of the DL } } [/c] ev. muss vor dem DLStart() noch ein Aufruf
nich, mal schaft er 3 durchläufe mal 100 mal 20 usw... irgendwas stimmt da noch nicht ... ;) [c] int whichColor = 0; int c = 0; void loop() { c++; whichColor = 1 - whichColor; // die andere Farbe unsigned long currentMillis = millis(); const char Display_string[18] = "was
-
Thread
Visual Studio, welche Sprache?
: string) -> s2.Contains(s1)) a2))) a1 [/c] Liefert das passende Array von Tupeln zurück. Jedes Tupel besteht aus dem String aus a1 und einem möglicherweise leeren Array mit Strings aus a2 die den gesuchten String aus a1 enthalten. Ähnlich einfach geht's nur mit LINQ in C# oder VB.
-
Thread
zu Blöd zum Programmieren: Brauche Hilfe für UART Zeichenkette
blöd zum programmieren Ziel ist eine Motorsteuerung über den Computer zu machen (programmiert in C#, funktioniert). Es wird über einen Drehknopf die Umlaufgeschwindigkeit übertragen als String. Also z.B. 11, 12 oder 5. Dieser String bedient im uC den delay_befehl. Ich weis nicht schön und nicht
uart_str_complete==1) { uart_puts("Geschafft\n"); // strcpy(Hier_Soll_ES_REIN, (const char*)uart_string); uart_puts((const char*)uart_string); uart_str_complete = 0; } } return 0; } [/c] Wenn noch grobe Fehler im Code sein sollten, wären Hinweise ganz nett. Der erste
-
Thread
Socket-Software
anzeigt, aber nicht die Daten selbst? bin mir nicht ganz sicher aber probiere mal: anstatt > [c] > > while (buff.ready()) { > System.out.println(buff.readLine()); > } > [/c] mit dem > [c] > > while (buff.ready()) { > System.out.println(buff.nextLine() ); > } > [/c] lg
-
Thread
STM32 - Crc Berechnung in C# nachbilden
(); CRCValue = CRC_CalcCRC(0x20423063); [/c] In C# hab ich diesen Ansatz getestet: [c] UInt32 Crc = 0; Crc = Crc ^ 0x20423063; for (int i = 0; i < 32; i++) Crc = (Crc << 1) ^ 0x04C11DB7; [/c] Was müsste ich in C# ändern
Hi, das habe ich mal selber geschrieben, sollte also funzen. [c] /**********************************************************************//** <B>Function Name</B> : CrcStm32Calc <BR><B>Description</B> : calculate the crc from the given string @param Input
-
Thread
Zugriff auf Strings im Flash
eigentlich "funktioniert nicht" und "klappt" ? heisst das "kompiliert schon gar nicht" oder "der uC geht in flammen auf" ?
Nein. Es geht ja um den Pointer. Auf den String greift strcpy_P zu.
-
Thread
128x64 Grafikdisplay von Pollin
der code: //************************************************************************ // T6963.C // LowLevel Routinen für LCD-Displays mit T6963 //************************************************************************ #include <avr/interrupt.h> #include <avr/signal.h> #include <string.h
(IDdata, data); I2C_release(); I2C_transmit_char(IDctrl,0x12); I2C_release(); I2C_transmit_char(IDctrl,0x16); I2C_release(); } void OutLCD::Write_LCD(int y, int x, char* zeichen) { int StringL, i; int zaehler
-
Thread
ASCII Zeichen in C ausgeben?
das? Achja: Man kann ja auch ASCII Zeichen über den Hexadezimalwert ausgeben aber wie geht das in C? Ich wüsste, wie das in C# und PHP geht aber in C kenne ich micht so gut aus. Danke schon einmal im voraus
ja, indem man eine oktale oder hexadezimale \...-Sequenz in den String einfügt. Steht in 99.9% aller C-Bücher hoffentlich... Ebenso wie in dem Post drüber :-)
-
Thread
STM32 F103 - I2C Probleme
12, "Hallo!");//write string - you set coordinates and string // u8g_DrawBox(&u8g, 30, 30, 35, 35);//draw some box /* while(HAL_I2C_Master_Transmit(&hi2c1, 0x3C,(uint8_t*) outbuffer, sizeof(outbuffer), (uint32
ein Signal (Siehe Anhang). Auf der SDL Leitung passiert aber nix (durchgehend 3,3V). Code: [c] void draw(void) { u8g_SetFont(&u8g,u8g_font_profont10);//set current font u8g_DrawStr(&u8g, 2, 12, "Hello!");//write string - you set coordinates and string u8g_DrawBox(&u8g, 30, 30, 35,
-
Thread
CNC Maschinchen
deiner Stelle würde ich aber für alle Fälle einen Buffer vorsehen damit nichts verloren geht.. [c] $regfile = "m328pdef.dat" $crystal = 16000000 $hwstack = 100 $swstack = 100 $framesize = 100 $baud = 115200 On Urxc Onrxd Enable Urxc Enable Interrupts Dim Ts As String * 100 Dim Flagrx
End If Flagrx = 0 End If Loop Onrxd: Ts = Ts + Chr(udr) Flagrx = 1 Return [/c]
-
Thread
PIC LCD Ausgabe von Strings
nicht jedes Mal beim Setzen von Bits in Port B die LCDE Leitung neu setze, ist diese einzeln an PortC. Die Beschaltung sollte soweit stimmen, da ich mit einer bestimmten Variante meines Codes (der hier geposteten) das Display soweit ansteuern kann und es string0 in einer Zeile meiner Wahl ausgibt. Füge
_2 call OutLcdDaten INCF INDEX, F GOTO OUT_STRING_1 OUT_STRING_2 RETURN GET_STRING_ADDRESS ADDWF PCL, F RETLW STRING0-STRING0 RETLW STRING1-STRING0 RETLW STRING2-STRING0 RETLW STRING3-STRING0 ;;;;;;;;;;;;;;;;;;;;;;;;;;
-
Thread
I2C Peripherie ansteuern
das Relayboard (PCF8574) zu testen, dabei kam es zu folgenden Problemen: erstes Problem: .\Obj\i2c.o: In function `I2C_Config': .\src/i2c.c:41: undefined reference to `__udivsi3' i2c.c (Auszug): void I2C_Config(unsigned long clk_bus) { _CURRENT_I2C_CLK_ = clk_bus; /* Initialize I2C bus
>.\src/i2c.c:41: undefined reference to `__udivsi3' Vieleicht mal #include "math.h" >siprintf(string,"\n\rExpander = 0x%02X, ec = %d",dataByte,ec); siprintf() kenn ich nicht. Könnte sprintf() sein ;)
-
Thread
C - string Konstante einem char zuweisen
Hallo, ich würde gerne eine Define Liste in C anlegen die mir einen String einem Char zuweist, so dass der Compiler weiß was er tun soll wenn dieser String eingegeben werden wird. Beispiel: Um das Relais 1 anzuschalten habe ich im Programm
+i ) { if( !strcmp( commands[i].commandString, string ) ) return commands[i].commandString; } return ' '; } int main() { char code; code = UnmapCommand( "Relais2On" ); switch( code ) { ... case 'c':
-
Thread
LEDs in parallel
Mikro 7. schrieb im Beitrag #5276020: > Nun schwankt die Umgebungstemperatur sagen wir mal zwischen 0°C und > 30°C (offener Aufbau Tja, aber die Temperatur einer 5W LED gaht auch locker auf 150 GradC wenn die perfekte Kühlung fehlt.
7. schrieb im Beitrag #5276020: >> Nun schwankt die Umgebungstemperatur sagen wir mal zwischen 0°C und >> 30°C (offener Aufbau > > Tja, aber die Temperatur einer 5W LED gaht auch locker auf 150 GradC > wenn die perfekte Kühlung fehlt. Stränge aus 5W-LEDs schaltet kein geistig gesunder Mensch
-
Thread
LabVIEW - serielle Kommunikation µC
auswerten unsigned char extract_cmd (char *string_pointer) { //Stringzeiger; char *string_pointer_tmp; unsigned char cmd_index = 0; string_pointer_tmp = strsep(&string_pointer," "); //Kommando in Tabelle suchen while(strcasecmp
(unsigned char a = 0; a<MAX_VAR;a++) { string_pointer_tmp = strsep(&string_pointer,"., "); variable[a] = strtol(string_pointer_tmp,NULL,0); } //Kommando ausführen COMMAND_TABELLE[cmd_index].fp(); return(1); } //-------
-
Thread
[C++] For schleife in Makro
Anzahl der Variablen [c] #define MAX_VAR 5 [/c] Um die Variablen im Programm leichter anzusprechen würde ich die Pointer gerne in ein Array schieben. [c] int* vars[MAX_VAR] [/c] Es ist etwas umständlich das von Hand
Zuweisungen werden automatisch generiert. Kann man das über Makros lösen? Also ein Makro wie [c] #define GENERATE_ALL_ASSIGNMENTS(i) GENERATE_ALL_ASSIGNMENTS(MAX_VAR) [/c] Einen ersten Schritt hab ich schon [c] #define GENERATE_ASSIGNMENT(i) vars(i) = &var ## i [/c] Jetzt fehlt "nur
-
Thread
sprintf in C - Nullen dynamisch auffüllen
http://home.fhtw-berlin.de/~junghans/cref/FUNCTIONS/format.html oder ein C-Buch lesen?
Ein richtiges printf kennt "*". Und dann sieht das ganze so aus: [c] sprintf(MyCharArray, "%0*i", breite, MyInt); [/c]
-
Thread
STM32 Zeichen filtern
Müsste das nicht so heißen: [c] if ((GPS1[2] == 'V') && (GPS1[3] == 'T')) [/c] Strings fangen bei [0] an!
Wo ist die Null Terminierung char GPS1[] = ['a','b','c','d','e','f','g','h',0]; Bitte unterscheide zwischen chars und strings Du solltest dir noch mal die Kapitel Felder (Arrays) und Pointer sowie Strings durchlesen ( in deinem C Buch )
-
Thread
seltsames i2c verhalten
,..: [C] lcd_clear(); if(i2c_start(adr+I2C_READ)) //Temperatur-Sensor check lcd_string("i2c: nein"); else lcd_string("i2c: yeah"); i2c_stop(); [/C] wenn ich den return wert allerdings zwischenspeicher funktioniert das acknowledge (bekomme "i2c: yeah" ausgegeben): [C] unsigned char temp; lcd_clear(); temp=i2c_start(adr+I2C_READ); if(temp) //Temperatur-Sensor check lcd_string("i2c: nein"); else lcd_string("i2c
-
Thread
C++ oder C auf uc
ich finde diese zeile interessant wie grausam: [c] 3) you can write object-oriented code (useful for filesystems etc) in C, _without_ the crap that is C++." [/c] für mich ist die C++ nachahme in C der totale CRAP was soll dr mist ? warum
Assembler Code ansieht, kann mitunter sehen, daß Funktion und Aufruf beider Varianten (C und C++) in identischem Code resultieren. Von Spracheigenschaften wie Exceptions oder RTTI würde ich vorerst Abstand nehmen. Auch auf Laufzeitelemente wie std::string oder Streams im allgemeinen würde
-
Thread
Int mit float multiplizieren
Simulation das Programm*/ freq=1/periodendauer; /*weiterer unkritischer Code zum senden eines Strings per RS232*/ T0OF=0; freq=0; } return 0; }[/c] Ich hoffe ihr habt einen Rat für mich. Bitte bezieht euch auf das Problem. Dankeschön Grüße
9]=0x0D; /*Stringlaenge auslesen und String senden*/ stringlaenge=sizeof(string); string_senden(string); } return 0; }[/c] Das Senden des Strings funktioniert. Das benutze ich auch schon seit ein paar Programmen