我需要使用 get 函数并计算已经填充了多少索引我遇到了几个问题。
似乎以这种方式使用 cin.get 只允许我填充数组,并且不允许我计算数组中已填充了多少变量:
#include <iostream>
int main()
{
char line[25];
cout << " Type a line terminated by enter\n>";
cin.get( line, 25 );
}
我有一种感觉,我需要使用下面的 for 循环,但问题是它不会以 enter 结束,用户必须填充整个数组,我需要能够输入任意数量的字数下限。此外,该示例没有使用哨兵值,因此虽然它似乎可以解决这个问题,但它似乎不是解决方案。
void fill_array(char array[], int max_count, int& num_used)
{
char input;
int index = 0;
cout << "Enter a text string to test" << endl;
for( index = 0;index < max_count; index++)
{
cin.get(input);
array[index] = input;
num_used++;
}
}