Fehler beim datei einlesen
-
eigentlich ein ganz leichter code
#include <fstream.h>
#include <iostream.h>
#include <string>int main ()
{
fstream dh ("Hallo.txt");
char zeichen[2000];while (dh.good())
{
dh.getline(zeichen,2000);
cout << zeichen;
}
dh.close();
return 0;
}aber es kommt immer diese fehler meldung
error C2664: '__thiscall fstream::fstream(int)' : Konvertierung des Parameters 1 von 'char [10]' in 'int' nicht moeglich
-
Ich sehe keinen Fehler. Aber mach bitte das ".h" beim inkludieren der Header weg ( + ggf. namespace std öffnen).
-
füg mal noch
using namespace std;
ein, vielleicht hilfts.
-
ne bringen beides nichts wenn ich .h weg mache kommen noch mehr fehler und das andere geht auch nicht.
weiß einer wie ich die datei auch ohne fstream einlesen kann kein plan warum das nicht geht
-
Probier mal ifstream oder zur Not (!) fopen
-
Hallo,
der fstream-Ctor der nicht Standard-Streams (<fstream.h>) der als ersten Parameter einen const char* entgegennimmt, erwartet als zweiten Parameter einen open-Mode. Der Ein-Parameter-Ctor hingegen erwartet als Parameter einen file-Deskriptor.
Sprich:fstream dh ("Hallo.txt", ios::in);
Oder aber du verwendest die Standard-Streams:
#include <fstream> // kein h #include <iostream> // kein h using namespace std; int main() { fstream dh ("Hallo.txt"); // -> der zweite Parameter hat den Def-Wert ios_base::in | ios_base::out }
while (dh.good()) { dh.getline(zeichen,2000); cout << zeichen; }
Das ist nicht gut.
Das ist besser:while (dh.getline(zeichen,2000)) { cout << zeichen; }
-
#include <fstream.h>
void main() //the program starts here
{
ifstream OpenFile("data.txt");
char ch;
while(!OpenFile.eof())
{
OpenFile.get(ch);
cout << ch;
}
OpenFile.close();
}
-
cool danke jungs jetzt geht es aber ab und zu kommt bei mir der fehler wenn ich das einbauen will
error C2872: 'fstream' : Mehrdeutiges Symbol
oder auch bei cout woran liegt das ich glaube das ist eine sehr dumme frage aber trotzdem
-
Hamster schrieb:
cool danke jungs jetzt geht es aber ab und zu kommt bei mir der fehler wenn ich das einbauen will
error C2872: 'fstream' : Mehrdeutiges Symbol
oder auch bei cout woran liegt das ich glaube das ist eine sehr dumme frage aber trotzdemDas liegt daran, dass du alte und neue Streams mischst. D.h. du hast irgendwo ein #include <iostream> und an einer anderen Stelle ein #include <iostream.h>
(oder <fstream.h>...)
-
aa ok fehler auch beseitigt supi
so und nun der letzte für heute abend
wenn ich die datei einlesen habe kann ich das ganze einfach so mit
char *s3
s3 = char zeichen[2000];
// send ssend(sock,s3,2000,0);
verschicken das mit den sockets und so ist alles ok.....
-
na ja
char *s3
s3 = char zeichen[2000];wird nicht funktionieren
entwederchar zeichen[2000]; s3 = zeichen;
oder
s3 = new char [2000];
aber dann delete s3[]; nicht vergessen
K.
-
juchu danke euch allen ihr seid meine helden
so habe nun das gesamte progi überarbeitet alles läuft wie es laufen soll aber leider kommt nicht das raus was raus kommen soll ich wehre euch sehr verbunden wenn es mir einer sagen könntehttp://paste.phpfi.com/32044 ( Client )
http://paste.phpfi.com/32043 ( Server )
-
scheint das der fehler bei der send datei ist es kommt einfach nichts an aber es wird kein fehler angegeben
cin.get();
// IPconfig wird in einer datei erstallt der name der datei ist in s2
{string s2;
s2 = "Hallo";
string s = "ipconfig > C:\";
s+=s2+".txt";
system(s.c_str());
}// Die datei wird gelesen
{fstream dh ("Hallo.txt", ios::in);
while (dh.good())
{
char zeichen = dh.get();
cout << zeichen;
}
dh.close();
}// Der INhalt der datei wird in s3 gespeichert und versendet
char *s3;
s3 = zeichen;// send s
send(sock,s3,strlen(s3),0);
printf ("Wurde gesendet: %s3",&s3[0]);Empfang
strncpy (s3,"Rock da house ^^", sizeof (s3)); // strncpy ist besser als strcpy da es die länge prüft und buffer overflows vermeiden kann!
if (recv (sockfd2,s3,10000, 0) == -1) {
perror("recvfrom");printf("Received: %s3",s3);