Problem mit der Funktion strstr



  • Hi Leute,

    bin gerade auf ein Problem mit der ststr-Funktion gestossen. Vielleicht könnt ihr mir da weiter helfen. Im Programmcode ist mir eigentlich kein Fehler ersichtlich, allerdings erhalte ich bei der Kompilierung folgende Fehlermeldung:
    afxcwd.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete(void *)" (??3@YAXPAX@Z) bereits in libcpd.lib(delop.obj) definiert
    nafxcwd.lib(thrdcore.obj) : error LNK2001: Nichtaufgeloestes externes Symbol __endthreadex
    nafxcwd.lib(thrdcore.obj) : error LNK2001: Nichtaufgeloestes externes Symbol __beginthreadex
    Debug/ipLesen.exe : fatal error LNK1120: 2 unaufgeloeste externe Verweise
    Fehler beim Ausführen von link.exe.

    Hoffentlich kann mir einer von euch hier weiterhelfen.

    #include <fstream> 
    #include <iostream.h> 
    #include <afx.h> 
    #include <string.h> 
    #include <stdio.h> 
    #include <iostream.h> 
    #include <stdlib.h> 
    using namespace std; 
    
    void main() 
    { 
    	int i=0; 
    	int wert=0; 
    	char *position; 
    	char str[] = "source="; 
    	ifstream in; 
    	ofstream out; 
    
    	char zeile[]=" "; 
    
    	in.open("logsNeu.txt"); 
    
    	if (!in.good()) 
    	{ 
    		cout<<"Fehler beim Oeffnen der Datei"<<endl; 
    		exit(1); 
    	} 
    
    	out.open("ergebnis.txt"); 
    
    	if (!out.good()) 
    	{ 
    		cout<<"Fehler beim Oeffnen der Ausgabedatei"<<endl; 
    		exit(1); 
    	} 
    
    	in.getline(zeile, sizeof(zeile)); 
    
    	while (!in.eof()) 
    	{ 
    		while (zeile[i] != '[') 
    		{ 
    			if (zeile[i] >= '0' && zeile[i] <= '9'|| zeile[i]=='.') 
    			{ 
    				out.put(zeile[i]); 
    				i++; 
    			} 
    		} 
    
    		position = strstr(zeile, str); 
    		wert = position-zeile+1; 
    		if (wert > - 1) 
    		{ 
    			while (zeile[wert] != ' ') 
    			{ 
    				out.put(zeile[wert]); 
    				wert++; 
    			} 
    		} 
    		in.getline(zeile, sizeof(zeile)); 
    	} 
    
    	in.close(); 
    	out.close(); 
    
    	cout<<"Datei geschrieben"<<endl;
    

    Bitte Code-Tags verwenden!



  • Project/Settings/C++

    Laufzeitbibliotheken auf Multithreaded setzen



  • @markus

    die header bereinigen:
    verwende die neue iostream

    #include <fstream>  
    #include <string.h>  //die alte c- string, perspektivisch die neue stringklasse angschaun
    #include <cstdio>  
    #include <iostream>  
    #include <cstdlib>  
    using namespace std;
    

    und lass afx weg!


Anmelden zum Antworten