将get_word转换为函数,不明白说明?

时间:2017-03-05 22:00:16

标签: c++

我正在遵循这些指导方针,以便在学校开展一个小项目,但目前尚不清楚如何将其实施为一个单独的功能?有什么建议?

我不希望任何人为我编写代码,但有点提示会有所帮助! :D我的下面的代码正是我认为这些指令所要求的,但不是单独的函数。

我认为我正确地宣布了原型但是我真的很难过!那么,“命令行”究竟是什么?

get_word:第一个函数应该被称为“get_word”。它需要两个参数。每次调用此函数都会使用文件中的单词填充其中一个参数。然后,您应该将您收到的每个单词以及单词总数的计数输出到用户在命令行上指定的文件中。此功能不会返回任何内容。

rdd <- SparkR:::textFile(sc, "file.txt", 4)

1 个答案:

答案 0 :(得分:0)

  

“get_word”。它需要两个参数。每次调用此函数都会   用文件中的单词填充其中一个参数。

如你所愿,你需要两个参数,一个文件和一个字符串。 但是因为必须用文件中的单词填充作为参数传递的字符串,所以必须将字符串参数声明为引用。 这是什么意思 ?默认情况下,参数作为副本传递,例如

void plusTwo(int a) { a += 2 }

函数声明中的代码将修改作为参数传递的变量的副本,因此:

int b = 0;
plusTwo(b);
//b still equals 0

因此,您必须在声明中使用&标记参数,这意味着您将参数作为参考传递(无副本)。例如:

void plusTwo(int &a) { a += 2 }

函数声明中的代码将修改作为参数传递的变量的副本,因此:

int b = 0;
plusTwo(b);
//b equals now 2

所以正确的原型是:

void get_word(std::ifstream, std::string&);

然后,命令行是显示带有“cout”的文本的窗口。因此,为了获取文件路径,您必须执行以下操作:

std::string filePath;
cin >> filePath;

filePath将获取用户输入的内容。