文字列の編集

文字列を分割するにあたって、文字列を扱うのは初めを指定すれば終わりは自動的に\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);
}