- 12V Akku mit 280 Ah bauen         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 19

Thema: Vektoren zusammenfügen

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    09.01.2005
    Alter
    41
    Beiträge
    76

    Vektoren zusammenfügen

    Anzeige

    E-Bike
    Hallo Zusammen

    Ich habe 5 verschiedene Vektoren mit Strings.
    In den Vektoren stehen Minuten,Stunden,Tage,Monate,Jahre.

    Damit ich diese in einem *.txt file speichern kann müssen diese 5 Strings in einen Grossen kopiert werden.

    Wie mache ich so etwas?



    Code:
    char stringMin[3],stringHour[3],stringDay[3],stringMonth[3],stringYear[5];
    char buffer[512];
    
    sprintf(stringMin,"%d",min);
    sprintf(stringHour,"%d",hour);
    sprintf(stringDay,"%d",day);
    sprintf(stringMonth,"%d",month);
    sprintf(stringYear,"%d",year);
    Vielen Dank für die Hilfe

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    12.01.2007
    Beiträge
    93
    mh, was willst du?

    ich würd nen struktur-vektor nehmen klopfst in ne struct deine minuten stunden ... rein und machst nen vektor draus

    oder willst du alles hintereinander in einem normalen vektor haben?

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    52
    Beiträge
    2.236
    vielleicht mit strcat ?

    Gruß Sebastian
    Software is like s e x: its better when its free.
    Linus Torvald

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    09.01.2005
    Alter
    41
    Beiträge
    76
    ich habs ziemlich umständlich gelöst.

    Hat jemand eine bessere Idee?

    Code:
    ...
            sprintf(stringTempT5,"%d",tempT5);
    	sprintf(stringTempT5Dec,"%d",(tempT5-floor(tempT5))*100);
    ...
            buf[0]=stringHour[0];
    	buf[1]=stringHour[1];
    	buf[2]='.';
    	buf[3]=stringMin[0];
    	buf[4]=stringMin[1];
    	buf[5]=',';
    	buf[6]=stringDay[0];
    	buf[7]=stringDay[1];
    	buf[8]='.';
    	buf[9]=stringMonth[0];
    	buf[10]=stringMonth[1];
    	buf[11]='.';
    	buf[12]=stringYear[0];
    	buf[13]=stringYear[1];
    	buf[14]=',';
    	buf[15]=stringTempT5[0];
    	buf[16]=stringTempT5[2];
    	buf[17]='.';
    	buf[18]=stringTempT5Dec[0];
    	buf[19]=stringTempT5Dec[1];
    	buf[20]=',';
    	buf[21]=0x0D;	//carriage return
    	buf[22]=0x0A; 	//line feed
    Dies ist ziemlich mühsam, schlussendlich sollte es dann auch ein timestamp + 16 Temperaturwerte sein.

    bin um jeden Gedankenanstoss dankbar

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    09.01.2005
    Alter
    41
    Beiträge
    76
    @izaseba
    strcat geht nur mit strings, ich habe aber ein char vektor

    @bL1nK
    kannst du mir ein Beispiel geben?
    ich hoffe deine Frage hat sich mit dem zusätzlich geposteten Code beantwortet.

  6. #6
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.802
    Wie kommen die Werte denn in stringxxxx rein? Stattdessen kannst du die werte doch direkt in buf[] schreiben?
    Disclaimer: none. Sue me.

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    52
    Beiträge
    2.236
    @izaseba
    strcat geht nur mit strings, ich habe aber ein char vektor
    String ist doch ein nullterminierter char Vektor, aber Du hast recht, für das, was Du vor hast ist strcat keine gute Wahl, vor allem, wenn Deine Vektoren nicht Nullterminiert sind.
    Software is like s e x: its better when its free.
    Linus Torvald

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    09.01.2005
    Alter
    41
    Beiträge
    76
    @SprinterSB:
    der buf[] ist ein char vektor und die min,hour,etc sind alles int.

    den stringxxxx fülle ich z.b. so:
    sprintf(stringMin,"%d",min);

  9. #9
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.802
    -1- Wenn du die Strings via sprintf bekommst, dann sind sie nullterminiert, also könntest du sie mit strcat aneinander hängen wie schon izaseba sagte.

    -2- Anstatt x sprintf-Aufrufe geht natürlich auch
    Code:
    #define CR_LF "\r\n"
    char buf[30];
    sprintf (buf, "%d:%d:%d %d-%d-20%d %d %c%c" CR_LF, hour, min, sec, day, month, year, t5, t5_string[0], t5_string[2]);
    Disclaimer: none. Sue me.

  10. #10
    Benutzer Stammmitglied
    Registriert seit
    09.01.2005
    Alter
    41
    Beiträge
    76
    danke ich werds mal so probieren.

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen