Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]1110[/thread]

Abbruch mit CTRL-Z

Leser: 1


<< |< 1 2 >| >> 13 Einträge, 2 Seiten
renee
 2004-05-06 21:16
#10991 #10991
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Hi!

Ich möchte in einer while-Schleife Werte einlesen. Das Abbruchkriterium soll CTRL-Z sein. Wie muss ich das realisieren??

Mein bisheriger Code:
Code: (dl )
1
2
3
4
char* string;
while(string != NULL){
cin.getline(string,200);
}
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
ptk
 2004-05-06 21:40
#10992 #10992
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Mit CTRL-Z wird doch der Prozess suspendiert, ohne dass man etwas Besonderes machen muss?

... jaja, ich weiss ...
Strat
 2004-05-06 22:25
#10993 #10993
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
war da nicht was mit der Abfrage auf EOF ? und das kann man zwar unter Windows mit Strg-Z senden, nicht jedoch unter Unix/Linux. Dafuer sollte man da Strg-D verwenden (meistens funktioniert Strg+D auch unter Windows...)
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
esskar
 2004-05-06 22:35
#10994 #10994
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
was cin denn für ein datentyp?
istream?
renee
 2004-05-06 22:58
#10995 #10995
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
ja, ist istream...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
betterworld
 2004-05-06 23:13
#10996 #10996
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
while(cin)
betterworld
 2004-05-06 23:59
#10997 #10997
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
Ich bin mir nicht ganz (wenn auch ziemlich) sicher, aber ich denke nicht, dass getline Dir einen Speicherbereich alloziert. Daher verwende bitte "char string[201]" statt "char *string"! Sonst wirst Du irgendwann Segfaults oder seltsame Verhaltensweisen von Deinem Programm bekommen. Folgendes funktioniert wunderbar:
Code: (dl )
1
2
3
4
5
while (cin) {
char s[201];
cin.getline(s, 200);
cout << s << endl;
}
\n\n

<!--EDIT|betterworld|1083873717-->
esskar
 2004-05-07 00:43
#10998 #10998
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
betterworld hat recht...

oder benutz anstatt

#include <iostream.h>

lieber

#include <iostream>

und deren variante...

dann kannst du mit std::string arbeiten
betterworld
 2004-05-07 01:11
#10999 #10999
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
[quote=esskar,06.05.2004, 22:43]oder benutz anstatt
#include <iostream.h>
lieber
#include <iostream>[/quote]
Das doch sowieso, oder?
renee
 2004-05-07 09:53
#11000 #11000
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Ja, danke, habt mir sehr geholfen...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
<< |< 1 2 >| >> 13 Einträge, 2 Seiten



View all threads created 2004-05-06 21:16.