char指针数组中的多个字符串输入

时间:2015-08-28 17:50:23

标签: c arrays pointers malloc

我试图在char指针数组中取多个字符串输入,no。字符串也取自用户。我写了以下代码,但它无法正常工作,如果有人可以帮我修复它?这是一些随机的。输入未由用户提供。

template<typename ...Args>
LineParseException& createLineParseException(const Args&... args);

1 个答案:

答案 0 :(得分:2)

你的问题是你在for循环开始时首先递增i,在循环结束时递增第二个,因此两次次而不是一次。您需要在结尾删除i++;

注意:

  • don't cast the result of malloc
  • 您需要free分配的char*(即&#34; ptr[i]&#34;)
  • 使用ptr[i][j] = c;代替*(ptr[i] + j) = c;
  • 尽可能限制变量的范围
  • 使用fgets来阅读stdin
  • 代码中可能存在缓冲区溢出; fgets
  • 的另一个论点