#include <boost\shared_ptr.hpp>盡量不要使用\,而是使用/,這樣子方面移植代碼到Linux 環(huán)境下
代碼如下:
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
char utfBuffer[256] = {0};
ifstream utffile("E:/doc/Android/Makefile");//OK
//ifstream utffile("E:\doc\Android\Makefile");//ERROR
//ifstream utffile("E:\\doc\\Android\\Makefile");//OK
utffile.getline(utfBuffer, 100);
size_t inLen = strlen(utfBuffer);
return 0;
}
總結:
第一種方案采用和Unix系統(tǒng)一樣的斜杠,方便在以后的開發(fā)中移植到Linux平臺,畢竟頭文件include中斜杠的修改比較麻煩。
第三種方法采用雙反斜杠,告訴編譯器前面的反斜杠不是用來屏蔽轉義的,而是實實在在存在的。
第二種錯誤方案,詳細分析:
拆分字符串:
char utfBuffer[256] = {0};
char szPathName[256] ={"E:\doc\Android\Makefile"};
ifstream utffile(szPathName);
utffile.getline(utfBuffer, 100);
size_t inLen = strlen(utfBuffer);
return 0;
通過單步調試szPathName的實際內容變成:"E:docAndroidMakefile" 編譯器認為\是用來禁止轉義用的,而沒有想到用戶實際上是作為反斜杠,因此將其清除,導致讀取文件路徑失敗
另外有需要云服務器可以了解下創(chuàng)新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
本文題目:windows目錄\在實際開發(fā)中使用/代替-創(chuàng)新互聯
本文鏈接:http://chinadenli.net/article18/dihcgp.html
成都網站建設公司_創(chuàng)新互聯,為您提供靜態(tài)網站、小程序開發(fā)、電子商務、定制網站、手機網站建設、Google
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯