【发布时间】:2015-03-19 01:58:53
【问题描述】:
我想在以下方面获得帮助:
void Traceroute (char * hops[]){
char* line = NULL;
size_t len = 0;
ssize_t read;
int i = 0;
while ((read = getline(&line, &len, fp)) != -1) {
hops[i] = line;
i++;
}
printf ("value1: %s value2: %s\n",hops[0],hops[1]);
}
我实际得到的是添加到数组中的最新值。!!酒花 我尝试在 main 中定义:
char* out[10]
并通过它,但我总是得到相同的输出。 有什么建议么 ?? 如果您也可以帮助我了解如何从函数返回 char **?
*** 我不想使用字符串
提前致谢。
【问题讨论】:
-
混合 C 和 C++ 绝不是一个好主意..
-
在我看来就像普通的 C 代码 - 为什么是 C++ 标记,我想知道?
-
你的函数的返回类型是void,所以我不明白你想如何返回它。
-
您不想想要使用字符串还是不能使用字符串?如果是前者,就需要丢掉这种心态。
-
如果你不想使用
std::string,就不要写C++。除了std::string,您还应该使用std::vector、std::list或std::array,而不是原始数组。