[ create a new paste ] login | about

Link: http://codepad.org/CZ4ZbAsQ    [ raw code | output | fork ]

C, pasted on Apr 30:
#include <stdio.h>

int split(char *str, char *ret[], char sep, int max) {
	int i = 0, j = 0, count = 1;
	
	ret[j++] = str;
	
	while (*(str + i)) {
		if (*(str + i) == sep && count < max) {
			str[i++] = '\0'; // 区切り文字を\0で置き換える
			ret[j++] = str + i; // 区切り文字の次のポインタ
			count++;
		}
		i++;
	}
	return count;
}

int main()
{
	char str[100];
	char *ret[100];
	char c[10];
	int m = 10;
	int d;

	printf("文字列を入力してください:");
	scanf("%s", str);
	printf("区切り文字を入力してください:");
	scanf("%s", c);
	
	d = split(str, ret , c[0], m);
	printf("分割数は%dです。\n", d);
	
	return 0;
}


Output:
1
文字列を入力してください:区切り文字を入力してください:分割数は1です。


Create a new paste based on this one


Comments: