.| Autor | Beitrag |
|---|---|
|
000 11.11.2002, 20:58 Mari |
Hallo, string cZeile; // Textzeile als Datentyp string Datei.open("C:\\text.txt",ios::in); // Datei lesend öffnen for (int Index = 0; std::getline(Datei, cZeile); Index++) // Zeilen bis Dateiende auslesen { ((CListBox*)GetDlgItem(IDC_LIST1))->SetTabStops(10); // Tabulatoren ((CListBox*)GetDlgItem(IDC_LIST1))->InsertString(Index, cZeile.c_str()); // Zeilen in Listbox eintragen } Vielen Dank! |
|
Profil || Suche |
|
001 11.11.2002, 21:11 Retro |
Also ich würds zweifellos mit scanf machen: Dann kommen aber bestimmt wieder Individuen die mich als Schweineprogrammierer beschimpfen =) --shielding people from their own stupidity is an evolutionary step backwards anyway. /* God is dead!............Nietzsche */ |
|
Profil || Suche |
|
002 11.11.2002, 21:25 WareWolf |
Schweineprogrammierer? nie gehört...mach dir nichts draus, ich hab mal einen ganz kurzen Beispielcode hier gepostet, der hatte ein goto n in einer Zeile..was denkste was da los war... --Sig as a brick ┴┬┴┬┴┬┴┬┴┬┴┬┴ |
|
Profil || Suche |
|
003 11.11.2002, 21:41 Mari |
Kann mir jemand ein Beispiel geben? |
|
Profil || Suche |
|
004 11.11.2002, 21:44 snoopdog |
meinst du als asl erstes doc steht?? aslo anstatt Speichername doc ?? Hmm ich könnt dir ne C funktionen sagen, kannst du damit was anfangen,oder musses c++ stream sein??? --Visit our 500er Gamer Lan |
|
Profil || Suche |
|
005 11.11.2002, 22:09 Mari |
Hallo, |
|
Profil || Suche |
|
006 11.11.2002, 22:16 Onkel Dittmeyer |
Öhm, du willst also nur Zeilen lesen in der ein "doc" drin vorkommt ja? |
|
Profil || Suche |
|
007 12.11.2002, 00:11 Leviathan |
ist doch egal ob c-funktion oder c++-stream. es gibt ja schliesslich acuh sscanf, und aus einem stream einen sting zu machen ist ja nicht das große problem. ich würde es auch mit scanf oder sscanf machen, so wie retro gesagt hat. was daran aber schweineprogrammiert sein soll verstehe ich nicht, dann ist doch eher sscanf schweineprogrammiert (eine funktion, die nicht weiss wie viele argumente sie denn gerne hätte ist mir sowieso suspekt). --Entities: HL | HL² |
|
Profil || Suche |
|
008 13.11.2002, 14:16 the_viking |
Wie wärs mit Strtok? Aber für suchen ist strstr oder stristr schon besser.
So viel zu strtok... \E: Was haben eigendlich einige mit gotos?? Ich hab hunderte davon, und es funzt super! Ausserdem wandelt der Compiler Funktionen usw. ja auch in "Gotos" um: thx, cu, MfG the_viking (( My =]=H=O=M=E=> Page! )) Dieser Beitrag wurde am 13.11.2002 um 14:19 von the_viking bearbeitet. |
|
Profil || Suche |
|
009 13.11.2002, 16:32 Tron |
funktionsaufrufe und gotos sind doch ein /klein/ wenig was anderes. bei einem goto 'vergisst' man, woher man kam, im gegensatz zu funktionen. der einzige fall, bei dem ein goto _vielleicht_ noch akzeptabel waere, ist multi-ebenen-break, also wenn man aus einer verschachtelten schleife ganz nach aussen will, aber sowas habe ich selbst schon lange nimmer gesehen. und konstrukte wie: selbst wenn man es logisch richtig gebacken bekommt, verwirrt man dann immernoch den armen optimierer des compilers. gib GOTO 'KEINE PANIK' - aus der Triologie in fuenf Baenden von Douglas Adams 'FÜR DEINN FERD' - aus 'Gevatter Tod' von Terry Pratchett |
|
Profil || Suche |
|
010 14.11.2002, 23:09 Leviathan |
vor allem c mit seinen mächtigen schlüsselwörtern continue und break und auch return braucht goto eigentlich nicht. beispiel: der multi-ebenen-break lässt sich auch noch lösen, mit einem wahrheitswert, der vor der äußeren schleife deklariert wird und im fall des milti-ebenen-breaks negiert wird. natürlich muss man dann entsprechende verzweigungen mit break setzen, das ist zwar etwas aufwand, macht den code aber klarer. multi-ebenen-break ist übrigends einer der schwachpunkte von break. --Entities: HL | HL² |
|
Profil || Suche |
|
011 15.11.2002, 08:43 Kriz |
Hm, Prefect war mal der Ansicht, daß goto in C/C++ wichtig wäre. Seine Argumentation habe ich aber leider vergessen... --K:R-I)Z++ |
|
Profil || Suche |
|
012 15.11.2002, 14:07 the_viking |
aber so was:
Wie willst du das denn mit "breaks" machen (Bei einer while(true)-schleife ist das ganz nützlich, aber bei sowas? (In PHP könnte man einfach break(4) sagen, dann bricht er 4 Schleifen ab. Geht das auch in C/++?) --thx, cu, MfG the_viking (( My =]=H=O=M=E=> Page! )) |
|
Profil || Suche |
|
013 15.11.2002, 14:14 Archangel |
wieso breaks ?
|
|
Profil || Suche |
|
014 15.11.2002, 15:04 Prefect |
Ich habe nicht behauptet, daß goto nötig wäre. Man könnte goto aus der Sprache entfernen, genauso wie man alle Vergleichsoperatoren bis auf einen, z.B. <, aus der Sprache entfernen könnte. Man könnte auch for() oder while() aus der Sprache entfernen, und wenn man goto drinläßt könnte man sie beide entfernen. Trotzdem gibt es z.B. alle Vergleichsoperatoren <, >, <=, >=, == und !=. Es ist nunmal einfacher, if (a == b) zu schreiben statt if (!(a < b || b < a)) Genauso gibt es eben Situationen (wenn auch zugegebenermaßen wenige), in denen ein goto besser in den logischen Zusammenhang paßt als ein anderes syntaktisches Konstrukt. Multi-Level-Breaks sind das beste Beispiel. Die "Lösung" mit einer boolean-Variable ist nämlich bestenfalls ein Hack, der den Code schwieriger zu lesen macht; auch ist es manchmal nicht praktikabel, das Schleifenkonstrukt in eine eigene Funktion zu packen so wie Archangel das gezeigt hat. In reinem C sind gotos auch eine perfekte Möglichkeit, um Cleanups bei Fehlern ordentlich handzuhaben:
Natürlich könnte man auch eine mörderische Verschachtelung von if()s verwenden, aber die obige Variante ist einfach cleaner. Alle Jubeljahre kommt es auch vor, daß goto auch in anderen Situationen Sinn macht, z.B. als Retry-Sprung. Bottom-Line: Es gibt ein paar Zusammenhänge, in denen goto einfach in die natürliche Logik eines Programms hineinpaßt. In 95% der Fällen, in denen man an goto denkt (bei Anfängern sind es eher 99,99999% der Fälle) gibt es eine genauso logische Lösung ohne goto. Aber es gibt eben auch die anderen 5%. cu, Widelands - Gemütliche Aufbaustrategie, Free Software |
|
Profil || Suche |

