我在这里找到了下面的代码,并试图编译它以学习一些编程:
#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'文件未找到
我需要下载一些库吗?
答案 0 :(得分:4)
您使用gcc
(C前端)而不是g++
(C ++前端)编译它。
<fstream>
。
糟糕!
答案 1 :(得分:0)
我明白了。对于选择main.c时Xcode窗口右侧的文件类型,我将其更改为C ++源代码,它已经超出了错误。