newbie fehler ?



  • #include <string>
    #include <fstream>
    #include <iostream>                
    using namespace std;     
    int main ()                                   
    {
        char* quelldatei = "erste.txt";
        char* zieldatei  = "zweite.txt";
        char  ip;
        string str1;
        ifstream quelle(quelldatei);
        ofstream ziel(zieldatei);
        while (quelle.get(ip)) 
        {
              ziel << "http://" << ip << ":6346";
              if (ip == '\n')   
                 ziel << "\n";     
        }
        quelle.close ();
        ziel.close ();
        return 0;
    }
    

    und ihn der DATEI "erste.TXT"
    ist eine ip adresse drinne die wird ausgelesen und so verändert
    http://"ip adresse" :6346 und diese wird dann ihn die "zweite.TXT" gespeichert doch es gibt ein problem die ip adresse wo gespeichert werden soll sieht im gespeicherten zustand so aus :

    http://8:6346http://4:6346http://.:6346http://5:6346http://6:6346http://.:6346http://1:6346http://1:6346http://.:6346http://2:6346http://2:6346http://
    :6346

    An was kann das liegen die ip adress ihn "erste.txt" steht ihn einer zeile
    habe ich irgendetwas vergessen ?

    <edit>Bitte Code-Tags verwenden!</edit>



  • L.o.K schrieb:

    und ihn der DATEI "erste.TXT"
    ist eine ip adresse drinne die wird ausgelesen und so verändert
    http://"ip adresse" :6346 und diese wird dann ihn die "zweite.TXT" gespeichert doch es gibt ein problem die ip adresse**, die** gespeichert werden soll sieht im gespeicherten zustand so aus :

    Du liest in der while-Schleife ein einzelnes Zeichen ein und fügst das dann mit http:// und :6346 in den neuen Stream ein, ist ja klar, dass das dann so aussieht. In ip ist also kein Platz für eine komplette IP-Adresse. Lies am besten eine Zeile deiner ersten Datei mit getline statt get in einen string ein und füge es dann in den zweiten Filestream ein.



  • Hi wenn ich while (quelle.getline(ip)) mache dann funktioniert es nicht mehr bin newbie

    L.o.K schrieb:

    #include <string>
    #include <fstream>
    #include <iostream>
    using namespace std;
    int main ()
    {
    char* quelldatei = "erste.txt";
    char* zieldatei = "zweite.txt";
    char ip;
    string str1;
    ifstream quelle(quelldatei);
    ofstream ziel(zieldatei);
    while (quelle.getline(ip))
    {
    ziel << "http://" << ip << ":6346";
    if (ip == '\n')
    ziel << "\n";
    }
    quelle.close ();
    ziel.close ();
    return 0;
    }

    und ihn der DATEI "erste.TXT"
    ist eine ip adresse drinne die wird ausgelesen und so verändert
    http://"ip adresse" :6346 und diese wird dann ihn die "zweite.TXT" gespeichert doch es gibt ein problem die ip adresse wo gespeichert werden soll sieht im gespeicherten zustand so aus :

    http://8:6346http://4:6346http://.:6346http://5:6346http://6:6346http://.:6346http://1:6346http://1:6346http://.:6346http://2:6346http://2:6346http://
    :6346

    An was kann das liegen die ip adress ihn "erste.txt" steht ihn einer zeile
    habe ich irgendetwas vergessen ?



  • Du musst eine ganze Zeile natürlich in einen string einlesen. ip ist keiner.



  • wie mache ich das kann mir keiner ein beisiel schreiben bitte ?



  • vielleicht so ?

    string str1;
    ifstream quelle(quelldatei);
    ofstream ziel(zieldatei);
    getline(quelle, str1);
    ziel << "http://" << str1 << ":6346";
    

    Kurt



  • Danke ! :)I



  • So kommt es jetzt ihn der zweite.txt raus sind jetzt zwar eine ganze ip zwischen http:// die ip :6346 aber warum macht es dies so oft ?

    http://84.56.11.22:6346http://84.56.11.22:6346http://84.56.11.22:6346http://84.56.11.22:6346http://84.56.11.22:6346http://84.56.11.22:6346http://84.56.11.22:6346http://84.56.11.22:6346http://84.56.11.22:6346http://84.56.11.22:6346http://84.56.11.22:6346http://84.56.11.22:6346

    Bitte um hilfe



  • Wahrscheinlich hast du das while noch immer. Zeig deinen code.
    Kurt



  • #include <string>
    #include <fstream>
    #include <iostream>                
    using namespace std;     
    int main ()                                   
    {
        char* quelldatei = "erste.txt";
        char* zieldatei  = "zweite.txt";
        char  ip;
        string str1; 
        ifstream quelle(quelldatei); 
        ofstream ziel(zieldatei); 
        getline(quelle, str1); 
        while (quelle.get(ip)) 
        {
        ziel << "http://" << str1 << ":6346";
        if (ip == '\n')   
        ziel << "\n";     
        };
        quelle.close ();
        ziel.close ();
        return 0;
    }
    

    <edit>Bitte Code-Tags verwenden!</edit>



  • Besser so

    #include <string>
    #include <fstream>
    #include <iostream>
    using namespace std;
    int main () {
       char* quelldatei = "erste.txt";
       char* zieldatei = "zweite.txt";
       string str1;
       ifstream quelle(quelldatei);
       ofstream ziel(zieldatei);
       getline(quelle, str1);
       ziel << "http://" << str1 << ":6346" << endl;
       quelle.close ();
       ziel.close ();
       return 0;
    }
    

    Kurt



  • Ja Danke ! Klappt alles echt big thnx an dich 😉




Anmelden zum Antworten