strpos と rtirm のメモ
Warning: preg_match() [function.preg-match]: Compilation failed: unrecognized character after (?< at offset 3 in /vir/ap/blog.yuhisa.com/wp-content/plugins/codesnippet/lib/geshi.php on line 2132
Warning: preg_match() [function.preg-match]: Compilation failed: unrecognized character after (?< at offset 3 in /vir/ap/blog.yuhisa.com/wp-content/plugins/codesnippet/lib/geshi.php on line 2132
int strpos (char *str, char tar) {
// 初期化
int max = strlen(str);
int cnt = 0;
int flg;
// ターゲットと同じか \0 まで繰り返す
while (*str != tar && *str != ‘\0‘) {
str++;
cnt++;
// 文字数を超えたら break
if (len < cnt)
break;
}
// ターゲットがあれば位置を返す
if (*str == ‘\0‘ || len < cnt) {
return(-1);
} else {
return(cnt);
}
}
// 初期化
int max = strlen(str);
int cnt = 0;
int flg;
// ターゲットと同じか \0 まで繰り返す
while (*str != tar && *str != ‘\0‘) {
str++;
cnt++;
// 文字数を超えたら break
if (len < cnt)
break;
}
// ターゲットがあれば位置を返す
if (*str == ‘\0‘ || len < cnt) {
return(-1);
} else {
return(cnt);
}
}
char *rtrim (char *str) {
// 改行コードの位置を取得
int rpos = strpos(str, ‘\n‘);
// 改行コードの位置を \0 に置き換え
if (rpos > -1)
str[(rpos-1)] = ‘\0‘;
return(str);
}
まだまだ、 C はダメダメです。
ちなみに、 PHP の strpos は、指定文字が見つからない場合 0 を返してきますので、
型の判断を必要とする !== を使って
<?php
$str = "abcdefg";
if (strpos($str, "c") !== false) {
print "str の中に c が見つかりました!";
} else {
print "str の中に c が見つかりませんでした。";
}
と、してやる必要がありますね。