[ create a new paste ] login | about

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

C, pasted on Aug 23:
#include <stdio.h>
#include <string.h>

int  main(int argc, char *argv[])
{
	char  buf[1003], c, *p_base, *p_search;
	int   i;
	if(argc < 3)
	{
		puts("エラー: 引数の数が不正です。");
		printf("Usage: %s 検索文字列1 検索文字列2 [検索文字列3 [...]]\n", argv[0]);
		return -1;
	}
	--argc;
	while(fgets(buf, sizeof(buf), stdin))
	{
		p_base = &buf[0];
	exec:
		for(i = 1; i < argc; ++i)
		{
			p_search = strstr(p_base, argv[i]);
			if(p_search)
			{
				c = *p_search;
				*p_search = '\0';
				fputs(p_base, stdout);
				*p_search = c;
				fputs(argv[i + 1], stdout);
				p_base = p_search + strlen(argv[i]);
				goto exec;
			}
		}
		fputs(p_base, stdout);
	}
	return 0;
}


Create a new paste based on this one


Comments: