(2005-04の一覧)
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

2005-04-22 Fri (他の年の同じ日: 2006)

zshを使ってコマンドを指定回数連続実行
2005-04-22-2 / カテゴリ: [unix][linux][shell] / [permlink]

% zsh -c "repeat COUNT command"
ベンチ計ったりするには
% time zsh -c "repeat 100 command >/dev/null"
見たいな感じで

文字列を指定文字(デリミタ)で区切って、部分文字列のアドレスを得る
2005-04-22-1 / カテゴリ: [programming][c] / [permlink]

strtok(string, charset)
#include <string.h>

char string[] = "name, title, date, value\n";
char delim[] = ", \r\n";
char *token;

printf("[%s] (%p)\n", string, string);
printf("----\n");
token = strtok(string, delim);
while (token != NULL) {
  printf("[%s] (%p)\n", token, token);
  token = strtok(NULL, delim);
}
出力は
[name, title, date, value
] (0x22efa0)
----
[name] (0x22efa0)
[title] (0x22efa6)
[date] (0x22efad)
[value] (0x22efb3)
コールするたびに、デリミタで指定した文字セット以外が連続する文字列の末尾に '\0' をいれ、先頭のポインタを返す。(よって string は壊れる)
コール時に前回のポインタを記憶しているので、NULL になるまで複数回実行すれば、対象文字列をバラせる。

便利だけど、そろそろ Perl でやりたくなってきた。
前の日 / 次の日 / 最新 / 2005-04

2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12

最終更新時間: 2013-05-02 16:12