背景故事:我正在尝试在 en.cppreference.com 上创建一个帐户。该过程的一部分涉及:std::cout 显示的内容<<"ev"<<"a";
困境:我不知道那到底是什么。我尝试将其放入终端,但没有任何有用的东西。我尝试将其放入代码中并进行编译...还是没有运气。我用谷歌搜索了一下,但没有更接近理解他们到底要我做什么。最后但并非最不重要的一点是,我去了 http://en.cppreference.com/w/cpp/io/cout
并找到了以下代码,我也尝试编译但没有运气。
#include <iostream>
struct Foo {
int n;
Foo() {
std::cout << "static constructorn";
}
~Foo() {
std::cout << "static destructorn";
}
};
Foo f; // static object
int main()
{
std::cout << "main functionn";
}
尝试编译它的结果是:
[bad_cat@KittyLitter LearningCode]$ gcc input.c
input.c:1:20: fatal error: iostream: No such file or directory
#include <iostream>
^
compilation terminated.
我要做的就是克服这一点,这样我就可以创建一个帐户并学习 C 编程。
您在C++程序中提供的代码。您需要将其保存为file.cpp
格式,之后您需要使用g++ file.cpp
进行编译,它应该可以工作。
您已将其保存file.c
格式并使用 gcc
进行编译,这是 C 标准,而不是 C++。
C++程序,您正在尝试使用gcc
编译器进行编译。使用g++
编译器编译此程序。
std::cout
控制台中打印给定的字符串。我建议尝试一些C++的基本教程,也许这会很好。
应该可以工作的两个最简单的示例:
#include <iostream>
int main()
{
std::cout << "Hello World!";
}
其次(做完全相同的事情(:
#include <iostream>
using namespace std;
int main ()
{
cout << "Hello World!";
}
gcc
编译器能够编译C++代码,请参阅此处。我认为问题是,你用gcc input.c
编译.尝试将文件名更改为 input.cpp
,因为*.c
文件是 C 文件,*.cpp
文件是C++文件。您还需要告诉链接器,因为C++不是按标准链接的。所以这应该有效:gcc input.cpp -lstdc++
.您还可以使用 g++
编译器,默认情况下链接库。
回答您问题的另一部分:std::cout
实际上是std::
和cout
。 std
只是控制台(在 C 中它是 stdout,我不确定它在 C++ 中是否相同(。cout
打印出文本。