[ create a new paste ] login | about

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

C, pasted on Nov 27:
#include <stdio.h>
#include <ctype.h>

char* word_nextUL(char** s){
	char* t, *p = *s;
	int   k = 0;
	do {
		if(isalpha(*p))
			++k;
		else if(k > 0){
			if(isupper(*(p - k)) && islower(*(p - 1))){
				t = p - k;
				if(*p)
					*p++ = '\0';
				*s = p;
				return t;
			}
			k = 0;
		}
	} while(*p++ != '\0');
	return NULL;
}

int main(void){
	char* w, *p;
	char  s[] = "Pascal, lisp, Fortran, algol, Cobol, Actor";
	
	for(p = &s[0]; (w = word_nextUL(&p)) != NULL;)
		puts(w);
	return 0;
}


Output:
1
2
3
4
Pascal
Fortran
Cobol
Actor


Create a new paste based on this one


Comments: