每n个字符打印一个换行符

问题描述 投票:1回答:2

我正在尝试打印一个字符数组,但我想在固定数量的字符后打印换行符。到目前为止,我只能在读取第一个固定数量的字符后打印换行符。谁能指出我正确的方向?

    for ( int i = 0; i < (m_nWidth*m_nHeight); i++) {
        if (i != m_nWidth)
            cout << pMyPointer[i];
        else
        {
            printf("\n");
        }
    }
c++
2个回答
4
投票
if( i % n == 0 && i != 0 ) printf("\n");

其中n是换行符之间的字符数。


编辑:在完整的上下文中:

#include <iostream>

int main()
{
    const int n = 5;
    const std::string str("abcdefghijklmnopqrstuvwxyz");
    for (int i=0 ; i<str.size() ; ++i)
    {
        if (i%n == 0 && i != 0)
            std::cout << '\n';
        std::cout << str[i];
    }
    std::cout << std::endl;
    return 0;
}

3
投票

您可以使用模块运算符:

if(i % n == 0)
 printf("\n");
© www.soinside.com 2019 - 2024. All rights reserved.