相关疑难解决方法(0)

像sprintf一样的std :: string格式

我必须格式化std::stringsprintf,并将其发送到文件流.我怎样才能做到这一点?

c++ string formatting stl

412
推荐指数
17
解决办法
77万
查看次数

如何使用cout以完全精度打印双精度值?

所以我已经得到了我最后一个问题的答案(我不知道为什么我没有想到这一点).当我没想到它的时候,我正在打印一个圆润的double使用cout.如何使用全精度cout打印double

c++ floating-point precision iostream cout

308
推荐指数
9
解决办法
41万
查看次数

操作后恢复std :: cout的状态

假设我有这样的代码:

void printHex(std::ostream& x){
    x<<std::hex<<123;
}
..
int main(){
    std::cout<<100; // prints 100 base 10
    printHex(std::cout); //prints 123 in hex
    std::cout<<73; //problem! prints 73 in hex..
}
Run Code Online (Sandbox Code Playgroud)

我的问题是,在从函数返回后,是否有任何方法可以将cout的状态"恢复"到原来的状态?(有点像std :: boolalpha和std :: noboolalpha ..)?

谢谢.

c++ iostream

91
推荐指数
7
解决办法
3万
查看次数

为什么scanf对大浮点数输错了?

#include <stdio.h>

int main() { 
float k;
    scanf("%f", &k);
    printf("%f", k);
} 
Run Code Online (Sandbox Code Playgroud)

在这个简单的程序中,当我输入一个包含最多8位数的数字时,它会正确显示.

但如果我超过8位,即输入123456789输出123456792.

为什么会这样?那么有趣的事实是,如果我输入的任何数字,123456789并且123456796然后它总是显示123456792.

它是否与浮点数的8位小数精度有关?

c floating-point gcc scanf

-1
推荐指数
1
解决办法
472
查看次数

标签 统计

c++ ×3

floating-point ×2

iostream ×2

c ×1

cout ×1

formatting ×1

gcc ×1

precision ×1

scanf ×1

stl ×1

string ×1