07. august 2005 - 23:58
Der er
14 kommentarer og 1 løsning
ofstream til ftp-server
int main()
{
char buffer[500];
cin.getline(buffer,500);
ofstream ud("
ftp.frac.dk/ip.txt" " target="_blank">ftp://punkt:*******@
ftp.frac.dk/ip.txt" ,ios::trunc);
ud << buffer;
ud.close();
system("PAUSE");
return 0;
}
jeg har lavet dette lille program så der hurtigt kan ændres i en lille tekststump i filen ip.txt
der kommer ingen fejlmeldinger, men heller ikke noget resultat på serveren...
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
08. august 2005 - 00:04
#1
Er du sikker på at man kan overføre data over ftp med en ofstream? Har du prøvet at checke om ud bliver åbnet: if(!ud) cout << "Failed to open ud" << endl;
08. august 2005 - 00:08
#2
nej det har jeg så opdaget at man ikke kan, så derfor oprettede jeg et spørgsmaå om det...
08. august 2005 - 00:13
#3
Jeg tror at du er nød til at bruge en socket. Hvilken kompiler bruger du?
08. august 2005 - 10:23
#4
Og hvis det er muligt at bruge HTTP fremfor FTP, så vil jeg anbefale det
08. august 2005 - 14:45
#5
Jeg bruger bloodshed Dev-c++ og nej jeg tror ikke det er muligt med http
08. august 2005 - 20:42
#6
Jeg fik strikker et eksempel sammen. Det åbner en fil kaldet whatever.txt på serveren myserver.dk, hvortil det connecter med UserName og PassWord #include <iostream> #include <windows.h> #include <wininet.h> int main() { HINTERNET HInternet = InternetOpen("MyApp", INTERNET_OPEN_TYPE_PROXY, 0, 0, 0); if(!HInternet) { std::cout << "Failed to open Internet" << std::endl; return 1; } HINTERNET HConnection = InternetConnect(HInternet, "myserver.dk", INTERNET_DEFAULT_FTP_PORT, "UserName", "PassWord", INTERNET_SERVICE_FTP, 0, 1); if(!HConnection) { std::cout << "Failed to open connection" << std::endl; return 2; } HINTERNET HFile = FtpOpenFile(HConnection, "whatever.txt", GENERIC_WRITE, FTP_TRANSFER_TYPE_ASCII, 1); if(!HFile) { std::cout << "Failed to open file: " << GetLastError() << std::endl; return 3; } DWORD Dummy; InternetWriteFile(HFile, "Hello World\n", strlen("Hello World\n"), &Dummy); InternetCloseHandle(HFile); InternetCloseHandle(HInternet); }
09. august 2005 - 00:01
#7
der er nogle fejl i det: Kompiler: Default compiler Eksekverer g++.exe... g++.exe "J:\JEK\Andet\c++\ftp test.cpp" -o "J:\JEK\Andet\c++\ftp test.exe" -g3 -I"C:\Dev-Cpp\include\c++" -I"C:\Dev-Cpp\include\c++\mingw32" -I"C:\Dev-Cpp\include\c++\backward" -I"C:\Dev-Cpp\include" -L"C:\Dev-Cpp\lib" C:\DOCUME~1\JEK\LOKALE~1\Temp/ccgfbaaa.o(.text+0xb1): In function `main': J:/JEK/Andet/c++/ftp test.cpp:7: undefined reference to `InternetOpenA@20' C:\DOCUME~1\JEK\LOKALE~1\Temp/ccgfbaaa.o(.text+0x10e):J:/JEK/Andet/c++/ftp test.cpp:14: undefined reference to `InternetConnectA@32' C:\DOCUME~1\JEK\LOKALE~1\Temp/ccgfbaaa.o(.text+0x162):J:/JEK/Andet/c++/ftp test.cpp:20: undefined reference to `FtpOpenFileA@20' C:\DOCUME~1\JEK\LOKALE~1\Temp/ccgfbaaa.o(.text+0x1c8):J:/JEK/Andet/c++/ftp test.cpp:27: undefined reference to `InternetWriteFile@16' C:\DOCUME~1\JEK\LOKALE~1\Temp/ccgfbaaa.o(.text+0x1d3):J:/JEK/Andet/c++/ftp test.cpp:28: undefined reference to `InternetCloseHandle@4' C:\DOCUME~1\JEK\LOKALE~1\Temp/ccgfbaaa.o(.text+0x1e1):J:/JEK/Andet/c++/ftp test.cpp:29: undefined reference to `InternetCloseHandle@4' Eksekvering afbrudt
09. august 2005 - 00:20
#8
Du skal linke med wininet, den hedder libwininet.a med dev-cpp. Du kan linke med den ved at tilføje -lwininet til linkeren.
09. august 2005 - 15:57
#9
beklager men jeg er ikke helt med...
09. august 2005 - 20:09
#10
Jeg kender ikke dev-c++ ret godt. Hvilken version bruger du? Prøv at gå til Options->Compiler Options. På Directories" tabben skriver du -lwininet i "Add the following commands when calling the compiler" og sætter et X i boxen.
09. august 2005 - 22:35
#11
jo nu virker det mange tak
09. august 2005 - 22:38
#12
Når jeg finder lidt tid (inden for de første par dage) vil jeg prøve at lave et par klasser til at pakke koden ind i, så det bliver lidt lettere at bruge. Jeg regner med at putte det på min hjemmeside.
09. august 2005 - 22:41
#13
ok, det lyder som en god ide, hvad er din adresse? og kom med et svar :D
09. august 2005 - 22:43
#14
09. august 2005 - 22:47
#15
ok men mange tak
Kurser inden for grundlæggende programmering