文字列の編集
文字列を分割するにあたって、文字列を扱うのは初めを指定すれば終わりは自動的に\0
で終了するので、こんな芸当ができてしまう。しかしながら、作った文字列は固定であり、編集するにはまたmalloc()
などでヒープから確保して使わねばならない。
#include <stdio.h> #include <stdlib.h> #include <string.h> int main(void) { int i = 0; char *str = "abcdefghijklmnopqrstuvwxyz"; char *out = NULL; printf("strlen(str) = %2d: str = %s\n", strlen(str), str); for (i = 0; i < strlen(str) + 1; i++) { out = str + i; printf("i = %2d: out = %s\n", i, out); } exit(EXIT_SUCCESS); }