|
サンプルコードです。
↓はgglnさんが知りたいことでしょうか?
#include <ctype.h>
#include <stdio.h>
#if 1 // 1 の時,ポインタ Ver. 0 の時,擬似配列 Ver.
// ポインタ Ver.
void CopyAlpha(char *src, char *dst)
{
while (*src) {
if (isalpha(*src)) {
*dst++ = *src;
}
++src;
}
*dst = *src;
}
#else
// 擬似配列 Ver.
void CopyAlpha(char *src, char *dst)
{
int i, j = 0;
for (i = 0; src[i] != '\0'; ++i) {
if (isalpha(src[i])) {
dst[j] = src[i];
++j;
}
}
dst[j] = '\0';
}
#endif
int main(void)
{
char str[] = "Abc 123 d4e5f6 G7";
char alpha[sizeof(str)];
CopyAlpha(str, alpha);
printf("\"%s\"\n", str);
printf("\"%s\"\n", alpha);
return 0;
}
# 最近,ポインタを直接いじるのがマイブーム。
# K&R の(悪い?)影響です。
|