在 PHP 中,我记得我可以做类似的事情
substr(string,start,length)
现在我宣布
int array[20];
如何在不使用 for 循环的情况下只打印其中的一部分
例如。
cout << array[1 to 5] << "Here is the breaking point" << array[15 to 20] << endl;
像这样的东西
我还记得是否printf
会有类似^5
或类似的东西说最多 5
您可以使用ostream_iterator
and的组合copy
(链接到 ideone):
#include <iostream>
#include <iterator>
#include <algorithm>
using namespace std;
int main() {
int array[] = {1,2,3,4,5,6,7,8,9,10,11,12,13};
ostream_iterator<int> out_it (cout," ");
copy ( array+3, array+6, out_it );
return 0;
}
array+3
语法可能看起来不寻常:这是一个等价于 的指针表达式,&array[3]
它产生一个指针。由于您可以在 C 标准库需要一对迭代器的地方传递一对数组指针,这会产生预期的结果。
您可以复制到 ostream 迭代器:
std::copy(array, array+5, std::ostream_iterator(std::cout, " "));
std::cout << "Here is the breaking point";
std::copy(array+15, array+20, std::ostream_iterator<int>(std::cout, " "));