Nicht getestet, sollte aber so tun. Am Anfang noch #include <list> einfügen -- perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="66756e2d736f66742e6465"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'
int main() { std::ofstream out("C:\\Dokumente und Einstellungen\\All Users\\Desktop\\Test.txt"); for (int i = 1;i < 21;++i) // schreibt die Zahlen von 1 bis 20 in die Datei, mir ist nichts Besseres eingefallen^^ { out << i << std::endl; } out.close();
std::ifstream in("C:\\Dokumente und Einstellungen\\All Users\\Desktop\\Test.txt");
std::string line;
std::list<std::string> liste; // was macht der Befehl eigentlich?
while(!in.eof()) { getline(in,line); liste.push_back(line); // und was macht der Befehl? }
std::cout << liste[8] << " - das ist Zeile 9" << std::endl; // std::cout << liste; wieso funktioniert das nicht? in.close(); }
Ich hoffe jetzt einfach mal ich nerve euch nicht zu sehr
und wieso ist eigentlich so ungefähr jedes zweite mal mein Sicherheitscode falsch
Stimmt ... Ersetzte das std::list liste; durch std::vector und includiere <vector> und nicht <list>. Ansonten lass den Code so, dann gehts -- perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="66756e2d736f66742e6465"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'
Weil man in einer liste etwas hineinschiebt und es dann wieder herausholt. Auf irgendwelche Elemente in der Mitte kann man nicht zugreifen .... -- perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="66756e2d736f66742e6465"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'