Cursor an den Anfang der Zeile setzen?

T

Tatti

Hallo,
ich möchte gerne den cursor an den Anfang einer Zeile setzen ( innerhalb einer Datei ).
Leider habe ich keine Ahnung wie man dies realisieren könnte. Ich wäre für eure Hilfe wirklich sehr dankbar.

Außerdem gibt es noch ein zweites Problem:
Bei dem Programm handelt es sich um ein dictionary.
Es wird ein Wort gesucht und 5 Übereinstimmungen sollen zurückgelliefert werden.
Auf diesem Screenshot könnt ihr beide Probleme sehen ( Das Problem mit dem Anfang der Zeile bzw. Cursorposition und das Problem mit dem überspringen des 1. Ergebnisses ).
Hier gehts zum Screenshot
Beim jetzigen code bekomme ich alleridings 5 mal das gleiche Ergebnis zurückgeliefert, was ja auch logisch ist, weil das erste Ergebnis nicht überprungen wird beim nächsten Durchlauf.
Wie kann ich nun das 1. Ergebnis überspringen und nach der nächsten Übereinstimmung suchen?

Vielen Dank für eure Bemühungen.

Hier der code:

Code:
#include <iostream>
#include <fstream>
#include <string>
#include <strstream>

using namespace std;
//Global Vars
//start
int main()
{

//Vars
int length;
int currposition;
char * buffer;

	//Open File
	ifstream datei; 
	datei.open ("dict.txt", ifstream::in | ifstream::out | ifstream::binary);
	
	//Get length of file
	datei.seekg (0, ios::end);
        length = datei.tellg();
	datei.seekg (0, ios::beg);	
	
	//fill buffer
	buffer = new char [length];
	datei.read(buffer, length);
		 // ONLY FOR DEBUGGING
 		//cout << "\nComplete wordlist from buffer: \n" << buffer << "\n";	

 	//Fill string with content from buffer
	string wordlist(buffer);
		 // ONLY FOR DEBUGGING
		//cout << "\nComplete wordlist from string: \n" << wordlist << "\n";
		
			
		 	 //Search 
		    //enter and declare query
		      string query;
		      cout << "Please enter a german word: ";
		      cin >> query; 
		  
		      
		      //set counter, start loop
		      int counter;
			  counter = 0;
		      do
		      {
			//initialize counter    
			  counter++;
				//search string for query and return position
					string::size_type position = wordlist.find(query);
					cout << "\nWord found at: " << position; 
				//Cursor to position
					datei.seekg (position, ios::beg);
				// ONLY FOR DEBUGGING  ---> Tell position
					currposition = datei.tellg();
					cout << "\nCurrent read position: " << currposition << "\n\n";
				//READ LINE  
					char line[90000];
					datei.getline(line,90000);
				//ONLY FOR DEBUGGING
					cout << line;
		 	
				//NOT WORKING - IGNORE! declaring position2
					//int position2 = position + 10;
					//wordlist.erase(0,position2);
			
			//end loop, check condition
			}while(counter < 5);
		 	
				
return 0;
}
 
Zurück