我想用vector和fstream來讀取和存儲C文件中的行。我使用Microsoft visual studio 2005.問題是,當我編譯程序時,它說找不到在include中指定的文件如果我使用.h。如果我不使用.h,那麼它會在我定義vector和ifstream作爲未聲明標識符的主體中顯示錯誤。fstream vector C
謝謝。
我想用vector和fstream來讀取和存儲C文件中的行。我使用Microsoft visual studio 2005.問題是,當我編譯程序時,它說找不到在include中指定的文件如果我使用.h。如果我不使用.h,那麼它會在我定義vector和ifstream作爲未聲明標識符的主體中顯示錯誤。fstream vector C
謝謝。
您不能在C中使用C++類vector
或fstream
,C編譯器無法編譯它們。因此,您必須將文件更改爲.cpp(並將其編譯爲C++),或使用C語言及其文件處理方法(fopen, fprint
...)和數組而不是向量。
包括
#include <stdio.h>
代替<iostream>
包括如果我使用的.h。如果我DONOT使用.H ..
我猜你是包括像 -
#include <vector.h>
#include <ifstream.h>
.h
被廢棄,不應該被用於C++頭。因此,更改爲 -
#include <vector>
#include <ifstream>
它們都是在std命名空間中定義的。所以,你應該使用using
指令導入。
using namespace std; // Probably missing this and is the cause for the errors
// vector and ifstream as undeclared identifiers.
@user - 用你的語句 - '「如果我不使用.h,那麼它會在主體中顯示錯誤」',我非常肯定編譯器能夠找到相應的頭文件。因此,您正在使用Visual Studio中默認的C++編譯器。如果它是一個'C'編譯器,它將明確地保留在'#include
'vector'和'ifstream'不是'C'的一部分,它是'C++'的一部分。你確定你的構建環境是正確的嗎? – Asha 2011-03-23 05:28:02
你能發佈有問題的代碼嗎? – templatetypedef 2011-03-23 05:29:05