C++ Datei ab einem bestimmen Zeichen auslesen

5 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Die Strings aus der Textdatei zeilenweise mit getline() einlesen, dann mit find() die ':' finden und mit substr() die strings zerlegen, vielleicht hilft dir das Beispiel aus der Doku schon. http://www.cplusplus.com/reference/string/string/find/

Da schreibst du dir eine Funktion die ab einer bestimmten Stelle anfängt zu lesen bis sie eine bestimmtest Zeichen findet (Ist nicht so schwer hatte da mal in python 15-20 Zeilen die sogar nach mehreren Zeichen gesucht haben). Als Rückgabewert gibt sie die aktuelle Stelle in der Datei zurück. (fseek und ftell) Du rufst also zuerst deine Funktion mit Anfangsstelle = 0 auf und schaust wo das erste mal ":" vorkommt. Da du ja auch wissen willst bis wohin der username geht mach das am besten noch einen zweiten Marker rein. ('\n' als Zeilenende zeichen sollte es tun). Dann nochmal mit Anfangsstelle=0 und suchst nach "\n". Jetzt weißt du von wo bis wo der username geht. Dann das ganze nochmal je mit der Anfangsstelle = ErstesVorkommenvon" + 1 und du hast das selbe vom Passwort

Du könntest einfach zZeichen für Zeichen auslesen und ab dem ":" alle folgenen speichern...

Dann hat er ja den Key nicht.

0
@PerfectMuffin

... Ich bin etwas verwirrt: Wo hast du den key her? Er Möchte doch bloß Name/Passwort auslesen!?

0
@mememememe

Das ganze wollte ich dann noch mit mehreren machen. z.B. Passwort: Passwort vom User

0
@mememememe

Er will die entsprechenden Werte für verschiedene Schlüssel speichern. Deine Lösung klappt nur, wenn die Anzahl und Reihenfolge der Schlüssel unveränderlich ist.

0

Wie kann ich ganz einfach die quersumme einer Zahl in C++ berechnen?

Ich bin noch ein Anfänger in C++ und habe 2 Probleme. Und zwar ist mein Ziel ganz einfach eine Anwendung zu programmieren, das in der Lage sein soll die quersumme einer Zahl zu berechnen. Leider klappt das nicht so, wie es klappen sollte. Den wenn man eine 4 stelligen Zahl eingeben möchte, muss man nach jeder einzelnen Zahl die leertaste betätigen um die nächste Zahl eingeben zu können. Weil sonst wird die Eingabe nicht berechnet. Das 2 Problem ist das Zahlen wie z.B 1888 nicht richtig berechnet werden.

#include<iostream>
using namespace std;

int main()
{

   int zahl;
   cout<<"Gib eine 4 stellige Zahl ein\n";
   cin>>zahl>>zahl>>zahl>>zahl;


   cout<<"Die quersumme ist "<<zahl+zahl+zahl+zahl<<endl;

   cin.sync();
   cin.get();
   return 0;
}

Ich hoffe sehr ihr könnt mir behilflich sein. :)

...zur Frage

CMD user Passwort bekommen (nicht ändern)

Hallo, wenn ich in cmd folgendes eingebe:

net localgroup Server Name

Erscheinen mir alle user auf dem server. Wenn ich nun ein passwort ändern will, schreibe ich

net user Username *

Doch was wenn ich das passwort nicht ändern, sondern nur sehen will? Wie geht das?

Danke für alle Antworten :)

...zur Frage

Wieso geht Code in C++ nicht?

Ich habe in C++ ein Code geschrieben, leider geht dieser nicht und ich finde keine Lösung...

IDE: DevC++

Code:

if(folder_exists(C:\Program Files\MeinProgramm)){

goto OSSTART;

} else {

mkdir(C:\Program Files\MeinProgramm.c_str);

}

...zur Frage

Java: Aus Textdatei Zeilen auslesen?

Hallo, Ich mache mit einer .txt Datei eine Benutzer und Passwort abfrage. Funktioniert auch alles super bis auf eine kleine Sache.

Die Textdatei ist so aufgebaut:

USER:TestPerson1 PW:TestPasswort1 EMAIL:TestEmail1@test.de

USER:TestPerson2 PW:TestPasswort2 EMAIL:TestEmail2@test.de

Mit einem BufferedReader und einer while-schleife lese ich die Textdatei ein. Mit einer if abfrage sucht er sich dann nach eingabe die zeile raus, wo der Benutzer steht.

Quellcode: Auszug:

BufferedReader b = new BufferedReader (new FileReader("Filename") ); while( (zeile = b.readLine()) != null ) { if(zeile.equals(namelesen)){ } }

da in der nächsten zeile dann immer das Passwort steht würde ich in der if abfrage eine weitere abfrage einbringen wo er dann nur die nächste zeile prüft.

Ich hoffe ihr versteht mein Problem und könnt mir helfen( ja .. ich bin schlecht im erklären :D )

ganzer quellcode:

public void lesen(){ namelesen = txt_name.getText(); zeilepw = pw_passwort.getText();

    namelesen = "USER:"+namelesen;
    zeilepw = "PW:"+zeilepw;
    
    
     zeile="";
         try {
                BufferedReader b = new BufferedReader (new FileReader("FileName") );
                while( (zeile = b.readLine()) != null ) { 
                  
                    
                    if(zeile.equals(namelesen)){
               
                                     }
                      
                    }
                    }
                
                b.close();
                
              }
              catch (IOException e) {
                System.out.println("Fehler: "+e.toString());
              }    
}
...zur Frage

Gibt es eine möglichkeit, den benutzer währen eines shell-skriptes mehrfach zu wechseln (su passwort eingabe simulieren)?

Hallo liebe Communiy,

ich habe ein kleines Problem.. Aktuell versuche ich eine Hausaufgabe für ein Unifach zu automatisieren.

Ich schreibe ein Shell-Skript auf Ubuntu 14.10 mit dem man das Nutzungsverhalten mehrerer User innerhalb einer Shell simulieren kann. Dabei ist mir schon relativ früh aufgefallen, das die Passworteingabe mittels:

su [username]

nicht auf anhieb funktionieren will...

Das Ganze sieht im Teilausschnitt so aus:

su [username]

12345

cd /tmp

echo 'hier wird eine Testnachricht erzeugt' >> nachr-alice

exit

12345 soll das Passwort sein aber die Shell kann damit nichts anfangen. Ich erhalte nach dem Ausführen stetts einen Error von der Shell:

su:Authentication failure

aufgabe1.sh: line 2 12345: command not found

nachdem per exit der User wieder ausgeloggt wird, wird sich ein neuer User einloggen und das wechselt also im prinzip die ganze Zeit.

Hat jemand schon ein ähnliches Problem lösen können?

Außerdem sollte ich erwähnen das keine externen Pakete installiert werden können.

Vielen dank für eure Antworten :)

...zur Frage

Wie kann ich eine Eingabe in Java "nicht lesbar" machen durch Sternchen anstatt dem Zeichen, ähnlich wie bei Passwörtereingaben?

Hey Leute,

in meinem Programm wird eine Box geöffnet, wo der User sein Passwort eingeben muss, bisher ist das Passwort beim eingeben aber sichtbar, es soll aber "unsichtbar" sein, durch Sternchen anstatt der Eingabe

...zur Frage

Was möchtest Du wissen?