所以我已经得到了我最后一个问题的答案(我不知道为什么我没有想到这一点).当我没想到它的时候,我正在打印一个圆润的double
使用cout
.如何使用全精度cout
打印double
?
我想用C++打印出一个向量的内容,这就是我所拥有的:
#include <iostream>
#include <fstream>
#include <string>
#include <cmath>
#include <vector>
#include <sstream>
#include <cstdio>
using namespace std;
int main()
{
ifstream file("maze.txt");
if (file) {
vector<char> vec(istreambuf_iterator<char>(file), (istreambuf_iterator<char>()));
vector<char> path;
int x = 17;
char entrance = vec.at(16);
char firstsquare = vec.at(x);
if (entrance == 'S') {
path.push_back(entrance);
}
for (x = 17; isalpha(firstsquare); x++) {
path.push_back(firstsquare);
}
for (int i = 0; i < path.size(); i++) {
cout << path[i] << " ";
}
cout << endl;
return …
Run Code Online (Sandbox Code Playgroud) 我想cout
输出一个带前导零的int,因此值1
将打印为001
,值25
打印为025
.我怎样才能做到这一点?
我正在练习使用多个文件和头文件等.所以我有这个项目需要两个数字,然后添加它们.很简单.
这是我的文件:
main.cpp中
#include <iostream>
#include "add.h"
int main()
{
int x = readNumber();
int y = readNumber();
writeAnswer(x + y);
return(0);
}
Run Code Online (Sandbox Code Playgroud)
io.cpp
int readNumber()
{
int x;
std::cout << "Number: ";
std::cin >> x;
return x;
}
void writeAnswer(int x)
{
std::cout << "Answer: ";
std::cout << x;
}
Run Code Online (Sandbox Code Playgroud)
add.h
#ifndef ADD_H_INCLUDED
#define ADD_H_INCLUDED
int readNumber();
void writeAnswer(int x);
#endif // #ifndef ADD_H_INCLUDED
Run Code Online (Sandbox Code Playgroud)
错误显示在io.cpp中.确切的错误是:
有谁知道为什么会这样?谢谢.
编辑:我昨天用相同数量的文件(2 .cpp和1.h)做了一个小项目,我没有在另一个.cpp中包含iostream标题,它仍然编译并运行正常.
这是一个例子:
#include <iostream>
using namespace std;
int main()
{
cout << "Hola, moondo.\n";
}
Run Code Online (Sandbox Code Playgroud)
它抛出错误:
gcc -c main.cpp gcc -o edit main.o main.o: In function `main':
main.cpp:(.text+0xa): undefined reference to `std::cout'
main.cpp:(.text+0xf): undefined reference to `std::basic_ostream<char,std::char_traits<char> >& std::operator<< <std::char_traits<char>>(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
main.o: In function `__static_initialization_and_destruction_0(int,int)':
main.cpp:(.text+0x3d): undefined reference to `std::ios_base::Init::Init()'
main.cpp:(.text+0x4c): undefined reference to `std::ios_base::Init::~Init()' collect2: error: ld
returned 1 exit status make: *** [qs] Error 1
Run Code Online (Sandbox Code Playgroud)
此外,这个例子:
#include <iostream>
int main()
{
std::cout<<"Hola, moondo.\n";
}
Run Code Online (Sandbox Code Playgroud)
抛出错误:
gcc …
Run Code Online (Sandbox Code Playgroud) 我正在使用Qt4和C++在计算机图形学中制作一些程序.我需要能够在运行时在我的控制台中打印一些变量,而不是调试,但cout
即使添加库也似乎不起作用.有没有办法做到这一点?
为什么我不cout
string
喜欢这个:
string text ;
text = WordList[i].substr(0,20) ;
cout << "String is : " << text << endl ;
Run Code Online (Sandbox Code Playgroud)
当我这样做时,我收到以下错误:
错误2错误C2679:二进制'<<':找不到带有'std :: string'类型的右手操作数的运算符(或者没有可接受的转换)c:\ users\mollasadra\documents\visual studio 2008\projects\barnamec\barnamec\barnamec.cpp 67 barnamec**
令人惊讶的是,即使这不起作用:
string text ;
text = "hello" ;
cout << "String is : " << text << endl ;
Run Code Online (Sandbox Code Playgroud) 我尝试研究和互联网之间的差异cout
,但无法找到一个完美的答案.我还不清楚何时使用哪个.任何人都可以通过简单的程序向我解释并说明何时使用哪一个的完美情况?cerr
clog
我访问了这个网站,其显示了一个小程序cerr
,并clog
,但获得的输出那边也可以使用来获得cout
.所以,我对每个人的确切用法感到困惑.