CLX C++ Libraries
Home >> salgorithm >> adjust

Declarations

String& ljust(String& s, unsigned int n, CharT c = ' ');
String ljust_copy(const String& s, unsigned int n, CharT c = ' ');

String& rjust(String& s, unsigned int n, CharT c = ' ');
String rjust_copy(const String& s, unsigned int n, CharT c = ' ');

String& center(String& s, unsigned int n, CharT c = ' ');
String center_copy(const String& s, unsigned int n, CharT c = ' ');

Overview

ljust(), rjust(), center() は,文字列をそれぞれ左詰め,右詰め,センタリングし, 余白を文字 c で埋めます.ljust_copy(), rjust_copy(), center_copy() は, 引数として指定された文字列を直接変更せずに,コピーした文字列を変更します.

尚,Declarations においては template < ... > の部分を省略していますが, 単語の先頭が大文字になっているものはテンプレート引数として渡される型です(ただし, String は std::basic_string<CharT, Traits>).

Example

example_adjust.cpp

#include <iostream>
#include <string>
#include "clx/salgorithm.h"

int main(int argc, char* argv[]) {
    std::string s = "Hello, world!";
    
    std::cout << "ljust:  " << clx::ljust_copy(s, 30, '*') << std::endl;
    std::cout << "rjust:  " << clx::rjust_copy(s, 30, '*') << std::endl;
    std::cout << "center: " << clx::center_copy(s, 30, '*') << std::endl;
    
    return 0;
}
Result
ljust:  Hello, world!*****************
rjust:  *****************Hello, world!
center: *********Hello, world!********