我發現下面的代碼位就在這裏,並試圖對其進行編譯,以學習一些編程:代碼包括<fstream>沒有編譯
#include <fstream>
#include <cerrno>
#include <stdexcept>
#include <cstring>
#include <vector>
int main() {
// Which disk?
char diskName[] = "/dev/sda";
std::string diskError = std::string() + diskName + ": ";
// Open device file
std::ifstream disk(diskName, std::ios_base::binary);
if(!disk)
throw(std::runtime_error(diskError + std::strerror(errno)));
// Seek to 54321'th sector
disk.seekg(512 * 54321);
if(!disk)
throw(std::runtime_error(diskError + std::strerror(errno)));
// Read in one sector
std::vector<char> buffer(512);
disk.read(&buffer[0], 512);
if(!disk)
throw(std::runtime_error(diskError + std::strerror(errno)));
}
編譯器上讀取的行抱怨:
#include <fstream>
的錯誤信息是:
沒有發現'fstream的' 文件
是否有一些我需要下載的庫?
好吧,那麼我該如何告訴Xcode使用g ++? – user1573041 2013-02-22 18:52:58
我想通了。當選擇main.c時,對於Xcode窗口右側的文件類型,我將其更改爲C++源代碼,並且它已經超過了錯誤。 – user1573041 2013-02-22 18:58:38
@ user1573041 C++源文件應該命名爲'.cpp',而不是**'.c'。使用這個慣例,否則每個人試圖編譯你的代碼將很難找出什麼是錯誤的。 – 2013-02-22 18:59:30