gpt4 book ai didi

c++ - 在C/C++中读取特殊列,同时避免文本文件中的某些特殊字符

转载 作者:行者123 更新时间:2023-11-30 20:27:28 25 4
gpt4 key购买 nike

有人可以帮我解决这个问题吗? :我有一个这种形式的文本文件:

"1.101511000000E+02","-3.066300000000E+01"
"8.328840000000E+01","-7.020080000000E+01"
"1.053746000000E+02","-4.622800000000E+01"
"1.314320000000E+01","-7.866200000000E+01"
"9.876160000000E+01","-5.844720000000E+01"
"3.129990000000E+01","-7.919930000000E+01"
"7.152530000000E+01","-7.527770000000E+01"
"2.849310000000E+01","-7.933210000000E+01"
"7.602290000000E+01","-7.410480000000E+01"`

它有 4003 行。我想阅读这些专栏,就像避免使用字符:“”和“,”。然后我读取符号 + 或 - 并识别“E”来生成电源并将结果写入另一个文件,然后使用它。我给你举一个我需要的例子:1.101511000000 +02 -3.066300000000 +01然后我要做的是,例如,一旦我得到第一列:1.101511000000当我知道它是幂 2 时,我会这样做:1.101511000000 x 10²我将写入新文件的是:

110.1511 -30.66383.2884-70.2105.3746 -46.228

等等

所以主要问题是:1)如何读取这个文本文件并避免这些特殊字符?2)求出以E+02这样的形式写的功率?3)进行计算?4)避免 float 中所有多余的000?5)同时将结果放入一个新文件中?

我预先感谢大家,但请考虑这个事实,这对我来说非常紧急和重要。

莫杰德

最佳答案

您可以使用fscanf读取两个数字及其各自的指数。像这样的事情:

fscanf(pFile, "\"%f\", \"%f\"", &number1, &number2);

然后您所要做的就是使用 fprintf 将其写回第二个文件,如下所示:

fprintf(pFile2, "%g %g", number1, number2);

%g 格式使用最短的表示形式打印数字。

有关这些功能的更多信息,请访问 http://www.cplusplus.com/reference/cstdio/fprintf/ .

关于c++ - 在C/C++中读取特殊列,同时避免文本文件中的某些特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19740967/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com