Entwicklung und Coding in verschiedenen Programmiersprachen: Assembly, C++, C#, Perl, Delphi, .NET, Visual Basic... |
|||||||
![]() |
|
|
Themen-Optionen | Thema durchsuchen |
Entwicklung und Coding in verschiedenen Programmiersprachen: Assembly, C++, C#, Perl, Delphi, .NET, Visual Basic... |
|||||||
![]() |
|
|
Themen-Optionen | Thema durchsuchen |
[C/C++] - C - gets, fgets, getline, fread? zeilenweise einlesen. |
|
|
# 1 |
|
Underground King
![]() Bewertung:
![]() Registriert seit: Jan 2005
Beiträge: 2.096
Power: 31
|
heyho,
ich versuche an den datenbereich eines pgm files zu kommen. EDIT Ok ich habe eine Lösung gefunden xD.... jetzt komme ich aber mit gets, fgets und getline nich zurecht... was benutze ich am Besten und wie wird es benutzt :/ das galileo buch bringt mich nich wirklich weiter -.-" gets soll man nicht benutzen. Weils zu nem bufferoverflow führen kann. fgets muss man die zeichenlänge angeben? Welche Zeichenlänge? Von der Zeile? Weiß ich doch aber gar nicht wie lange eine Zeile ist? und was ist mit getline? Und was macht fread? oO 4rr
![]() Keine Macht der Renommee-Geilheit! Turn Off your Reno-Anzeige! Geändert von Mazen2004 (20.05.2012 um 14:43 Uhr). |
|
|
|
|
|
# 2 |
|
Bewertung:
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Registriert seit: Feb 2008
Internet: DSL 4000
Beiträge: 952
Power: 18
|
Hast du dir mal die verlinkten Seiten angesehen?
http://netpbm.sourceforge.net/doc/pgm.html http://netpbm.sourceforge.net/doc/libnetpbm.html Vielleicht reicht dir die Funktionalität der Library ja schon? |
|
|
|
AW: C - gets, fgets, getline, fread? zeilenweise einlesen. |
|
|
# 3 |
|
Bewertung:
![]() ![]() ![]() ![]() ![]() Registriert seit: Nov 2004
Beiträge: 410
Power: 23
|
Bei fgets gibst du an wieviel Zeichen maximal eingelesen werden dürfen, quasi als Schutz dass du aus deinem Char-Array nicht herauskommst.
Hattest du schon überladene Operatoren? http://img237.imageshack.us/img237/3622/wallsofjerichosigpm0.jpg
|
|
|
|
AW: C - gets, fgets, getline, fread? zeilenweise einlesen. |
|
|
# 4 |
|
Bewertung:
![]() Registriert seit: Dec 2004
Beiträge: 2.623
Power: 34
|
So wie ich es verstehe, willst du das Binärformat lesen, oder? Da gibt's kein Konzept von "Zeilen".
Wenn du es Quick&Dirty willst: fscanf() mit "P5 %d %d %d". Das liest dir den Header ein, skippt alle Whitespaces dazwischen und setzt den Filepointer direkt an den Whitespace vor den Daten. Dann kannst du ein Array anlegen, das groß genug ist die Daten zu halten, und liest alles auf einmal mit fread() (fgets() ist nicht für Binärdaten gedacht) ein. - hier war mal eine Signatur
|
|
|
|
AW: C - gets, fgets, getline, fread? zeilenweise einlesen. |
|
|
# 5 |
|
Bewertung:
![]() ![]() Registriert seit: Jan 2006
Internet: DSL 6000
Beiträge: 1.579
Power: 25
|
ich würde fgets nehmen. mit fgets kannst du entweder angeben wie viele chars du auf einmal einlesen willst oder er liest einfahc solange bis es zum zeilenumbruch kommt.
einfach ne while schleife nehmen und zeile für zeile einlesen. die eingelesenen zeilen müssen aber noch gecastet werden weil du nur eine zeichenfolge auslesen kannst. mfg allstar |
|
|
|
![]() |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| [C/C++] - [QT] TextEdit Zeilenweise ausgeben | Joker47 | Programmierung & Entwicklung | 4 | 18.06.2010 15:40 |
| [C/C++] - mit getline() erzeugten String zerlegen | Leon | Programmierung & Entwicklung | 7 | 10.10.2009 00:36 |
| [C/C++] - Alternative zu getline? | Leon | Programmierung & Entwicklung | 5 | 10.05.2009 13:12 |
| [Suche] - Freehoster mit fsockopen() fgets() set_time_limit() Unterstützung | hiNt | Webhosting | 2 | 11.10.2008 19:23 |
| [VisualBasic] - Text zeilenweise einlesen und bearbeiten | Radiergimmy | Programmierung & Entwicklung | 15 | 09.08.2008 13:00 |
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:03 Uhr. |