0

ここで次のコードを見つけ、プログラミングを学ぶためにコンパイルしようとしていました。

#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」ファイルが見つかりません

ダウンロードする必要があるライブラリはありますか?

4

2 に答える 2

4

(C++ フロントgccエンド) ではなく (C フロントエンド) でコンパイルしました。g++

<fstream>Cには存在しません。

おっとっと!

于 2013-02-22T18:50:34.640 に答える
0

私はそれを考え出した。main.cを選択した際のXcodeウィンドウ右側のファイルタイプオーバーについては、C++ソースに変更したところエラーを回避できました。

于 2013-02-22T19:04:01.007 に答える