/*
* retezce II. (zpracovani retezce)
*/
#include <stdio.h>
#define pocet 256
char s[pocet], *p, *p1, *p2;
int main(void) {
printf("\nZadej retezec: ");
fgets(s,pocet,stdin);
printf("Nacteny retezec . . . . . . . s = '%s'\n",s);
printf("Pocitam delku retezce . . . . . ");
p=s; while( *p!='\0') p++;
printf("pocet znaku (vcetne znaku EOLN) = %d\n", p-s);
printf("Mazu EOLN z konce retezce . . . ");
if (*(p-1)=='\n') {--p; *p='\0';} // nebo strucneji: *--p='\0';
printf("s = '%s'\n",s);
printf("Hledam mezeru zleva . . . . . ");
p1=s; while( *p1 != '\0' && *p1 != ' ' ) p1++;
if (*p1==' ') printf("mezera je na %d. pozici \n", p1-s + 1);
else printf("mezera v retezci neni\n");
printf("Hledam mezeru zprava . . . . . ");
p2=p; while( p2 > s && *p2 != ' ' ) p2--;
if (*p2==' ') printf("mezera je na %d. pozici \n", p2-s + 1);
else printf("mezera v retezci neni\n");
if (*p1==' ') {
printf("Mazu znaky mezi mezerami . . . ");
while(*p2!='\0') *p1++ = *p2++;
*p1='\0';
printf("s = '%s'\n",s);
}
printf("\n");
return 0;
}