Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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.

hab mir fseek mal angekuckt. blick da aber nicht wirklich zu 100% durch. kanst du mir ein quelltextbeispiel geben?

mit lseek akzeptiert der compiler das ifstream. brauch trotzdem noch sowas wien quelltext-beispiel.

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]

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.

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;

}

ich arbeite noch mit ifstream. das was ich zum schluss gepostet hab ist das beispiel aus der hilfe.

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 Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.