Zum Inhalt springen

Zum Zeilenanfang zurück kehren


LLpresident

Empfohlene Beiträge

ich habe volgendes problem. ich will wenn ich fehler gefunden hab(siehe quelltext) das dann die gesamte zeile in der der fehler aufgetauht ist in eine seperate textdatei geschrieben wird. problem ist blos das die fehlermeldung erst etwas weiter in der zeile steht. wie kann ich zum zeilenanfang zurück kehren um auch das was vor der fehlermeldung steht zu kopieren?

char Zeichen;

char Fehler_code[] = "\t1\t";

char Zeile[4];

char Tabulator = '\t';

char EndOfLine = '\n';

int Tab = 0;

int i;

memset( Zeile, 0, 4 );

ifstream application("application.txt", ios::in);

while(!application.eof())

{

application.get(Zeichen);

Zeile[0] = Zeile[1];

Zeile[1] = Zeile[2];

Zeile[2] = Zeichen;

if(Zeichen == Tabulator)

{

Tab++;

}

if(Zeichen == EndOfLine)

{

Tab = 0;

}

if((strcmp(Zeile,Fehler_code) == 0) && (Tab == 3))

{

Fehler_komplet++;

//zum zeilenanfang;

ofstream String("Fehlerliste.txt", ios::app);

String << Zeichen;

}

edtFehler_gesamt->Text = Fehler_komplet;

}

thx im vorraus.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also soweit ich das sehe akzeptiert lseek nur ein "normales"

Dateihandle das mit _open() geöffnet wurde.

Ein Bsp aus der MSDN wäre:


#include <io.h>
#include <fcntl.h>
#include <stdlib.h>
#include <stdio.h>

void main( void )
{
int fh;
long pos; /* Position of file pointer */
char buffer[10];

fh = _open( "lseek.c", _O_RDONLY );

/* Seek the beginning of the file: */
pos = _lseek( fh, 0L, SEEK_SET );
if( pos == -1L )
perror( "_lseek to beginning failed" );
else
printf( "Position for beginning of file seek = %ld\n", pos );

/* Move file pointer a little */
_read( fh, buffer, 10 );

/* Find current position: */
pos = _lseek( fh, 0L, SEEK_CUR );
if( pos == -1L )
perror( "_lseek to current position failed" );
else
printf( "Position for current position seek = %ld\n", pos );

/* Set the end of the file: */
pos = _lseek( fh, 0L, SEEK_END );
if( pos == -1L )
perror( "_lseek to end failed" );
else
printf( "Position for end of file seek = %ld\n", pos );

_close( fh );
}
[/PHP]

Link zu diesem Kommentar
Auf anderen Seiten teilen

hab ich auch grade rausgefunden. kommt aber immernoch mit der fehlermeldung "keine übereinstimmung gefunden".

wieso ist in der hilfe der/das handel als intwariable deklariert?

int main(void)

{

int handle;

char msg[] = "This is a test";

char ch;

/* Erzeugen einer Datei */

handle = open("TEST.$$$", O_CREAT | O_RDWR, S_IREAD | S_IWRITE);

/* Schreiben von Daten in die Datei */

write(handle, msg, strlen(msg));

/* Dateizeiger auf den Anfang der Datei stellen */

lseek(handle, 0L, SEEK_SET);

/* Liest solange Zeichen aus der Datei, bis wir EOF betätigen */

do

{

read(handle, &ch, 1);

printf("%c", ch);

} while (!eof(handle));

close(handle);

return 0;

}

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...