Array die 100.ste



  • Ich bins mal wieder...

    1.Problemchen:
    Wie kann ich ein char array

    char runnr[80];
    

    mit den werten einer variablen (int i = 10) laden?

    In einer schleife wird i immer inkrementiert, und soll dann ins char geladen werden. Ich brauch das char, weil ich danach nen strcat-Befehl benutzen muss, um runnr einem anderen char anhängen zu können...

    2.Problemchen:
    Ich hab 33 Dateien mit je 64 Zahlenwerten in einer spalte.
    Jetzt muss ich die erste datei öffnen, die 64 werte nacheinander in das jeweils erste element von 64 verschiedenen arrays (P0...P63) schreiben.
    Dann soll die nächste datei geöffnet werden und wieder die 64 werte dann in das 2. element der arrays geschrieben werden...usw. 😃

    Geht das auch einfacher oder muss ich das mit den 64 arrays machen....
    vielleicht habt ihr ja da ne geschicktere Lösung parat...
    Wäre nett wenn ihr mir da codetechnisch bissel helfen könnt...

    Thanx

    EOF



    1. Du weißt schon dass man int zu char casten kann?? Außerdem hast du bereits beschrieben was genau du machst, wo ist dein Problem? Musst du nur noch 1:1 umsetzen.

    2. Nein, natürlich muss man in der heutigen Zeit einer Hochsprache und OOP 64 Arrays erzeugen... Wie wärs mit 2 dimensionalen Arrays für eine Anfänger, oder einer STD-Container wenn du bereits OOP+Templates kannst?

    Gruß



  • 1.)

    [cpp]
    {
    #include <iostream.h>
    #include <fstream.h>
    int run = 9902;
    char i[4];
    (char) run; //stimmt doch mitm casten oder?
    cout<<run<<endl; //hier gibt er mir 9902 raus aber isses jetzt der char oder die int
    strcpy(i,run); //wenn jetzt run ein char ist müsste er ja inhalt von run nach i copieren...macht er aber nich!
    cout<<i;
    return 0;
    }
    Bringt immer nur:
    ERROR: strcpy parameter mismatch param[1] C i ???

    2.)
    Also SDT oder templates kann ich nich..:-(
    Es iss halt so dass ich nachher mit den 64 arrays 64 graphen darstellen will...ich glaub da wär ein 2d array nich so geeignet oder?



  • EOF schrieb:

    #include <iostream> //Es gibt nen Standard!
    #include <fstream>  // ...
    using namespace std;
    
    int main() {
      int run = 9902;
      char i[4];
    (char) run;      //stimmt doch mitm casten oder? <- Nein
    cout<<run<<endl; //hier gibt er mir 9902 raus aber isses jetzt der char oder die int <- int
    
    strcpy(i,run);  //wenn jetzt run ein char ist müsste er ja inhalt von run nach i copieren...macht er aber nich! 
    //<- Du willst doch die Zahlen im String haben, oder? 
    //Dafür gibt es die Funktion itoa und die ist in cstdlib: http://www.cplusplus.com/ref/cstdlib/itoa.html
    
    cout<<i;
    return 0;
    }
    


  • Na klasse...

    mein compiler kann wahrscheinlich itoa nich, da kein ANSI-C...
    was mache mer jetzt?

    Gruß

    EOF



  • EOF schrieb:

    Na klasse...

    mein compiler kann wahrscheinlich itoa nich, da kein ANSI-C...
    was mache mer jetzt?

    Gruß

    EOF

    Wieso kann er das nicht? cstdlib ist doch im C++ Standard.



  • Ne ich arbeite mit ROOT und der interpreter oder compiler CINT blickt itoa nich...

    hab aber grad rausgefunden dass mit sprintf(char,"%d",int) geht...#

    AUf ein neues....

    Grüße

    EOF


Anmelden zum Antworten