#include #include // 標準文字列処理関数 str*() の宣言 #define BUFLEN 256 // 文字列バッファのサイズ #define BUFFMT "%255s" // 文字列バッファの入力書式(文字列定数,基本の技) int main(void) { char buf[BUFLEN]; // 入力文字列のバッファ(文字配列) char *fmt = BUFFMT; // 入力書式(文字列定数へのポインタ,基本の技) /* // or 入力書式の自動生成(上級者向けの技) char fmt[16]; // 入力書式のバッファ sprintf(fmt, "%%%ds", BUFLEN - 1); // 入力書式の自動生成 */ int n; // 文字列の長さ int d; // 文字列の比較結果 char pre[BUFLEN] = ""; // 直前の入力文字列 while (1) { printf("文字列(%d文字以内)> ", BUFLEN-1); scanf(fmt, buf); n = strlen(buf); // 文字列の長さの測定 printf("文字数=%d\n", n); d = strcmp(buf, pre); // 文字列の内容の比較 if (d == 0) break; // 同内容の文字列が続いたら終了 strcpy(pre, buf); // 文字列の内容の代入(pre = buf) } return (0); }