すがブロ

sugamasaoのhatenablogだよ

printfフォーマットで左詰め

右詰めしかできないと思っていたが

"-"を付けることで左詰めにすることができる。最初Rubyのsprintfのフォーマットで見つけたんだけど、C言語でも同様に左詰めができたのだった。

#include <stdio.h>

int main(void) {

  printf("[%10d]\n", 9);
  printf("[%-10d]\n", 9);

  return 0;
}

こんなプログラムを用意して実行してみると……

% gcc sample.c && ./a.out
[         9]
[9         ]

左揃えからになった!!