我正在阅读"C Primer Plus"中的一个部分,它处理文件,流和键盘输入.作者将流的概念与文件连接起来,并按如下方式定义流:
从概念上讲,C程序处理流而不是直接处理文件.流是实际输入或输出映射到的理想化数据流.这意味着具有不同属性的各种输入由具有更均匀属性的流表示.然后打开文件的过程变为将流与文件相关联,并且通过流进行读取和写入
作者用粗体句来表示什么?文件和流之间的联系是什么?
std::istringstream将字符串转换为long double时会丢失精度.我可以使用类似的东西std::fixed还是std::setprecision()?
我正在使用c ++ 11并以QNX平台为目标.
#include <iostream>
#include <string>
#include <sstream>
#include <iomanip>
int main(){
long double convertedNumber;
std::string numberString ("5.94865747678615882510631e+4931");
//From string to long double
std::istringstream iss(numberString);
iss >> convertedNumber;
std::cout<< std::setprecision(30) << numberString << "\n";
std::cout<< std::setprecision(30) << convertedNumber << "\n";
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出是
5.94865747678615882510631e+4931
5.9486574767861588254e+4931
Run Code Online (Sandbox Code Playgroud)