2013-04-15 30 views
9
using namespace std; 

ofstream myfile; 
//myfile.open ("Z:\\ABC.TXT");     // fails Z: is a network drive 
//myfile.open("C:\\Temp\\ABC.TXT");   // OK 
//myfile.open("Z:\\NETWORK\\02-010E.CHS");  // fails Z:\Network is a network folder 

if (myfile.is_open()) 
    cout << "file is open" << endl; 
else 
    cout << "file fails to open" << endl; 

myfile.close(); 

Soru: Ağ sürücüsünde bir dosyayı açmak için ofstream.open desteklemiyor gibi görünüyor. Bu sorunu çözmek için basit bir yol var mı?Ağ dosyasına nasıl erişilir?

+5

“std :: cout << std :: strerror (errno)” yi deneyin ve ne yazdırdığını görün ([başvuru] (http://en.cppreference.com/w/cpp/string/byte/strerror)) . –

+0

Böyle bir dosya veya dizin yok – q0987

cevap

3

bu deneyin:

using namespace std; 

    ofstream myfile; 
    myfile.open("\\\\servername\\filepath\\filename"); 
       //^^should follow this format, servername is not Z drive name 

    if (myfile.is_open()) 
    cout << "file is open" << endl; 
else 
    cout << "file fails to open" << endl; 

myfile.close(); 

Paylaşılan sunucusundaki bir dosyayı açmak için bu denedi, bu

file is open 

yüzden çalışması gerekir çıkarır.

Aslında, gerçek bir fiziksel sürücü değil, gerçek bir fiziksel sürücü değil, sunucudaki gerçek bir fiziksel sürücü için bir eşleme aslında sürücüdür.

+1

Genel olarak, eşlenen sürücüler, kullanıcı için sorun teşkil ediyor olabilir. –

+0

@JesseGood evet. Sanırım öyle. Teşekkürler! – taocp

İlgili konular