Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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.

Geschrieben

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]

Geschrieben

gibt mir jetzt keine fehlermeldung wegen dem application aber das es keine übereinstimmung gibt: lseek(application, 0L, SEEK_SET);

mh.sagt mir genause wenig wie die borlandsche hilfe.

Geschrieben

Also...

der erste Parameter ist dein Dateihandle

der zweite ist die Anzahl der Stellen um die der Dateipointer

verschoben werden soll

und der dritte sagt aus ob der zweite vom Anfang(SEEK_SET),

von der aktuellen Position(SEEK_CUR) oder vom Ende(SEEK_EDN)

zählen soll.

Geschrieben

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;

}

Geschrieben

hat jetz funktionirt. jemand aus der firma hat mir grade geholfen. statt dem lseek ist es jetzt so geregelt worden:

ifstream::pos_type pos= application.tellg();

application.seekg(pos-9);

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

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...