[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[WitchTech 00735] 文字列編集の例



気が向いたのでちょっとした例を考えてみました。実用を
前提としていない点にご注意ください。

--- file1 ---
void GetFileName(char *buffer)
{
    get_sub1(buffer);
    get_sub2(buffer);
}
--- file1 ---

--- file2 ---
#include <stdio.h>
#include <string.h>

static const char drive[] = "c:";
static const char path[] = "\\windows\\system\\";
static const char body[] = "kernel32";
static const char ext[] = ".dll";

void get_sub1(char *buffer)
{
    strcpy(buffer, drive);
    strcat(buffer, path);
    strcat(buffer, body);
    strcat(buffer, ext);
}

void get_sub2(char *buffer)
{
    sprintf(buffer, "%s%s%s%s", drive, path, body, ext);
}
--- file2 ---

get_sub1とget_sub2でどちらが読みやすいかは意見が分かれる
ところなのでしょう(笑)私ならget_sub2を選びます。しかし
この例だったら splitpath/makepath を使うべきですが :-)


ML Archives