我正在尝试使用vector和fstream从C中的文件中读取和存储该行。我正在使用Microsoft visual studio 2005.问题是当我编译程序时,它说它无法找到指定的文件in include如果我使用.h。如果我不使用.h,那么它会在我定义向量和ifstream作为未声明标识符的正文中显示错误。
谢谢。
答案 0 :(得分:4)
您不能在C中使用C ++类vector
或fstream
,C编译器无法编译它们。因此,您必须将文件更改为.cpp(并将其编译为C ++),或者使用C语言及其方法进行文件处理(fopen, fprint
...)和数组而不是向量。
包含
#include <stdio.h>
代替<iostream>
答案 1 :(得分:1)
如果我使用.h。如果我不使用.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.