子字符串或打印数组,最多为C++中的位置数

substring or print the array upto num of position in C++

本文关键字:C++ 位置 字符串 打印 数组      更新时间:2023-10-16

在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_iteratorcopy的组合(链接到 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, " "));