blob: aac1173aa7e32f53215e4e077ce6030eb65ecfb2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
/********************************************************
* split -- split an entry of the form Last/First *
* into two parts. *
********************************************************/
#include <stdio.h>
#include <string.h>
/* Our version of the library function */
char *strchr(char *, char);
main()
{
char line[80]; /* The input line */
char *first_ptr; /* pointer to the first name */
char *last_ptr; /* pointer to the last name */
(void)fgets(line, sizeof(line), stdin);
/* Get rid of trailing newline */
line[strlen(line)-1] = '\0';
last_ptr = line; /* last name is at beginning of line */
first_ptr = strchr(line, '/'); /* Find slash */
/* Check for an error */
if (first_ptr == NULL) {
(void)fprintf(stderr,
"Error: Unable to find slash in %s\n", line);
exit (8);
}
*first_ptr = '\0'; /* Zero out the slash */
first_ptr++; /* Move to first character of name */
(void)printf("First:%s Last:%s\n", first_ptr, last_ptr);
return (0);
}
/********************************************************
* strchr -- find a character in a string *
* Duplicate of a standard library function, *
* put here for illustrative purposes. *
* *
* Parameters *
* string_ptr -- string to look through *
* find -- character to find *
* *
* Returns *
* pointer to 1st occurrence of character *
* in string or NULL for error *
********************************************************/
char *strchr(char * string_ptr, char find)
{
while (*string_ptr != find) {
/* Check for end */
if (*string_ptr == '\0')
return (NULL); /* not found */
string_ptr++;
}
return (string_ptr); /* Found */
}
|