您的位置:首页 > 编程语言 > C语言/C++

c++流读入

2016-07-14 18:06 288 查看

Preface

在ACM竞赛中读取一整行数据时一般会给出这一行数据的个数,以便选手用循环读入。但有的时候题目并没有给出数据的个数,这就需要选手自己处理了,比如这道题。为此,我写了一个能读取整行数据的函数,函数原型如下:

template<typename T>
int ReadLine(T* array);


其中:

array
为要存放数据的数组指针

函数的返回值为读取的数据的个数,没有读到数据返回0

注意这个函数并不会考虑数组的大小,如果一行包含的数据个数过多可能会出现数组越界的情况。

代码

template<typename T>
int ReadLine(T* array) {
string str_line;
if (!getline(cin, str_line)) {
return 0;
}
else {
stringstream ss(str_line);
int index = 0;
T temp;
while(ss >> temp) {
array[index++] = temp;
}
return index;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: