Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/139.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在C/C+中读取特殊列,同时避免文本文件中的某些特殊字符+;_C++_C - Fatal编程技术网

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

C++ 在C/C+中读取特殊列,同时避免文本文件中的某些特殊字符+;,c++,c,C++,C,有人能帮我一下吗 我有一个文本文件,格式如下: "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.12999000

有人能帮我一下吗 我有一个文本文件,格式如下:

"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.663 83.2884 -70.2 105.3746-46.228

等等

因此,主要问题是: 1) 如何读取此文本文件并避免这些特殊字符? 2) 查找以表格e+02形式写入的电源? 3) 做计算? 4) 避免所有冗余的浮动? 5) 将结果同时放入新文件中

我非常感谢你们所有人,但是请考虑这个事实,这对我来说是非常紧急和重要的。


Mojdeh

您可以使用
fscanf
读取这两个数字及其各自的指数。 大概是这样的:

fscanf(pFile, "\"%f\", \"%f\"", &number1, &number2);
fprintf(pFile2, "%g %g", number1, number2);
然后,您只需使用
fprintf
将其写回第二个文件,如下所示:

fscanf(pFile, "\"%f\", \"%f\"", &number1, &number2);
fprintf(pFile2, "%g %g", number1, number2);
%g
格式使用最短的表示形式打印数字


有关这些函数的更多信息,请转到。

逐行读取文件,使用
fgets
getdelim
,使用
strtok
解析您读取的行。现在编写代码,如果您仍然有问题,请向我们展示您的尝试。这是一个CSV文件,逗号分隔的值。非常常见的情况是,您会被谷歌的点击淹没。一旦得到列字符串,就只需将strtod()或sscanf()转换为double。