Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/137.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++;相当于Java';s split()?_C++_Parsing - Fatal编程技术网

C++ 什么是c++;相当于Java';s split()?

C++ 什么是c++;相当于Java';s split()?,c++,parsing,C++,Parsing,我试图从文本文件中读取数据值并将其存储在数据结构中。我可以很简单地用Java实现类似的功能,但我不确定如何最好地解决这个问题 一行数据是x,y,sigma类似1.1.2 1.3。在C++中,我知道如何将整行变成一个字符串,使用 GETLIN(MyFrase:String)。但是我不确定这是不是正确的方法,或者是,从哪里去。是否可以拆分行,然后将拆分的字符串解析为double值 我的数据结构如下所示: struct datapoint { double x; double y;

我试图从文本文件中读取数据值并将其存储在数据结构中。我可以很简单地用Java实现类似的功能,但我不确定如何最好地解决这个问题

一行数据是
x,y,sigma
类似
1.1.2 1.3
。在C++中,我知道如何将整行变成一个字符串,使用<代码> GETLIN(MyFrase:String)。但是我不确定这是不是正确的方法,或者是,从哪里去。是否可以拆分行,然后将拆分的字符串解析为
double

我的数据结构如下所示:

struct datapoint {
   double x;
   double y;
   double sigma;
   double weight;
   double xSquared;
   double xy;
};
我的问题是:

有没有一种方法可以将数字解析为结构,其中
.txt
文件的每一行都是
数据点数组中的
struct

如果没有直接方法,则在C++的java + <代码>()/<代码>和<代码>双PARSEBUDE(String)方法> /P>中有等价的内容吗?


谢谢。

只是用

std::cin >> x >> y >> sigma >> weight >> xSquared >> xy;
可能是解决你问题的最简单方法


但是,如果您确实需要进行拆分,请查看此处:

只需使用

std::cin >> x >> y >> sigma >> weight >> xSquared >> xy;
可能是解决你问题的最简单方法


但是,如果您真的需要进行拆分,请查看此处:

我想您想要这样的拆分?肖恩,C++ iSWiver是智能的。您基本上是这样做的:
cin>>mydata.x>>cin mydata.y…
等。它将理解它必须转换为正确的类型,并且它非常了解格式。顺便说一句,您不会在Java中使用
split
,你会使用一个ToKeNISER,比如扫描器,它在C++中有一个相当直接的等价物。我猜你想要这样的东西。肖恩,C++ iSWiver是智能的。基本上,你可以做到:<代码> CIN > MyDATa. x> > CyMyDATa. y…./>代码>等,它将理解它必须转换为正确的类型,并且它对格式的理解也很好。顺便说一下,你不会使用<代码> Stabor <代码>,在java中,你会使用一个ToKeNeSeER,例如 ScReult,C++中有相当直接的等价物。这就是我不清楚的问题,文本文件的每一行都进入一个数据结构。然后,每个结构都是
数据点dataArray[n]
的一部分,如果有更多的数据点值需要填充,您只需循环即可。是的,您可以在循环中执行:std::cin>>dataArray[i].x>>dataArray[i].y>>dataArray[i].sigma>>dataArray[i].weight>>dataArray[i].xSquared>>dataArray[i].xy;正如简建议的那样+1数据已经在一个文本文件中,大约有1000行,除非我遗漏了什么,否则您的建议是键盘输入?对不起,我的问题不清楚,文本文件的每一行都进入一个数据结构。然后,每个结构都是
数据点dataArray[n]
的一部分,如果有更多的数据点值需要填充,您只需循环即可。是的,您可以在循环中执行:std::cin>>dataArray[i].x>>dataArray[i].y>>dataArray[i].sigma>>dataArray[i].weight>>dataArray[i].xSquared>>dataArray[i].xy;正如简建议的那样+1数据已经在一个文本文件中,大约有1000行,除非我遗漏了什么,您的建议是键盘输入?