Gast
#3599975
Hallo, in meiner Win32 Konsolenanwendung möchte ich einen Text als Eingabeparameter übergeben und in einen Puffer ablegen. Wie könnte man die realisieren?
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
|
Anzeige
|
Win32 Konsolenanwendung
Gast
#3599975
Hallo, in meiner Win32 Konsolenanwendung möchte ich einen Text als Eingabeparameter übergeben und in einen Puffer ablegen. Wie könnte man die realisieren?
argc musst Du dann aber <3 abfragen Philip K. schrieb: >
>
recht aufwändig.
Da String Aktionen in einem Programm schon mal häufiger vorkommen, gibt
es dafür vordefinierte Funktionen
wenn Gefahr besteht, dass der Benutzer auf der Tastatur eingeschlafen ist, dann
Gast
#3600410
Vielen Dank für die Hilfe. Nun funktioniert es so wie ich es möchte. Danke!
Gast
#3600448
Karl Heinz schrieb: > Da String Aktionen in einem Programm schon mal häufiger vorkommen, gibt > es dafür vordefinierte Funktionen > strcpy( Frame, argv[2] ); Ähm, wie bitte? > wenn Gefahr besteht, dass der Benutzer auf der Tastatur eingeschlafen > ist, dann Nicht nur dann, sondern grunsätzlich immer hat man sicherzustellen, daß es keinen Buffer Overflow geben kann! Rolf Magnus schrieb: >> strcpy( Frame, argv[2] ); > > Ähm, wie bitte? Worauf willst du hinaus? >> wenn Gefahr besteht, dass der Benutzer auf der Tastatur eingeschlafen >> ist, dann > > Nicht nur dann, sondern grunsätzlich immer hat man sicherzustellen, > daß es keinen Buffer Overflow geben kann! Zustimmung. Das hätte ich noch dazuschreiben wollen, aber dann verschwitzt: Sobald ein menschlicher Benutzer in irgendeiner Form im Spiel ist, muss man grundsätzlich davon ausgehen, dass es zu einem Overflow kommen kann und entsprechend agieren. Wenn in einem Programm intern hingegen ein bereits sicher nicht zu großer String kopiert werden muss, dann kann man auch mit den normalen strxxx Funktionen arbeiten.
Gast
#3600957
Karl Heinz schrieb: > Worauf willst du hinaus? Ich war nur etwas erstaunt, von dir eine Antwort zu sehen, die bewußt einen potenziellen Buffer-Overflow enthält. > Sobald ein menschlicher Benutzer in irgendeiner Form im Spiel ist, muss > man grundsätzlich davon ausgehen, dass es zu einem Overflow kommen kann > und entsprechend agieren. Ich würd's noch allgemeiner fassen: Sobald es sich um Daten handelt, die von außen kommen... Daten aus einem File oder vom Netzwerk würde ich nicht trauen, auch wenn die nicht von einem menschlichen Benutzer kommen. Karl Heinz schrieb: > Wenn in einem Programm intern hingegen ein bereits sicher nicht zu > großer String kopiert werden muss, dann kann man auch mit den normalen > strxxx Funktionen arbeiten. Es ging ja um die Kommandozeilenparameter. Das ist definitiv was, wo man die Größe prüfen muß. Rolf Magnus schrieb: > Karl Heinz schrieb: >> Worauf willst du hinaus? > > Ich war nur etwas erstaunt, von dir eine Antwort zu sehen, die bewußt > einen > potenziellen Buffer-Overflow enthält. Ich bin mittlerweile schon froh, wenn die angehenden C-Programmierer überhaupt je etwas von Funktionen wie strcpy oder strcat gehört haben :-) Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|