使用以下 2 个函数关注带有 * 注释的行。当 cout<< 语句执行时,不显示小数位。3021680380 /10000000 变成 302. 而不是 302.1680。
void convert(){
setprecision(4); //************************
newFileTime = new double[numRec]; //***********
newOffset = new int[numRec];
newSize = new int[numRec];
newNum = new int[numRec];
newType = new int[numRec];
newTime = new int[numRec];
for(int i = 0; i<numRec; i++){
newFileTime[i] = fileTime[i] / 10000000; //**********
newOffset[i] = offset[i] / 512;
newSize[i] = fileSize[i] / 512;
newNum[i] = 0;
if(type[i] == "Write"){
newType[i] = 0;
}else{
newType[i] = 1;
}
newTime[i] = responseTime[i] / 10000000;
}
}
void exports(){
setprecision(4); //**************
ofstream fout;
fout.open("prxy_0.ascii");
{
if(!fout){
cout <<"File opening failed. \n";
}
}
fout<< numRec <<endl;
for(int i = 0; i < numRec; i++){
fout<< newFileTime[i] << " " << newNum[i] << " " << newOffset[i] << " " << newSize[i] << " " << newType[i] << " " << newTime[i];
cout<< fileTime[i] << " " << newFileTime[i] <<endl; //**********
if(i != numRec - 1){
fout<<endl;
}
}
fout.close();
}
有任何想法吗?