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