Rev 4012 | Rev 4014 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 4012 | Rev 4013 | ||
|---|---|---|---|
| Line 139... | Line 139... | ||
| 139 | } |
139 | } |
| 140 | 140 | ||
| 141 | dest[i - 1] = '\0'; |
141 | dest[i - 1] = '\0'; |
| 142 | } |
142 | } |
| 143 | 143 | ||
| 144 | /** Copy string. |
- | |
| 145 | * |
- | |
| 146 | * Copy string from src address to dst address. The copying is done |
- | |
| 147 | * char-by-char until the null character. The source and destination memory |
- | |
| 148 | * areas cannot overlap. |
- | |
| 149 | * |
- | |
| 150 | * @param src Source string to copy from. |
- | |
| 151 | * @param dst Destination string to copy to. |
- | |
| 152 | * |
- | |
| 153 | * @return Address of the destination string. |
- | |
| 154 | */ |
- | |
| 155 | char *strcpy(char *dest, const char *src) |
- | |
| 156 | { |
- | |
| 157 | char *orig = dest; |
- | |
| 158 | - | ||
| 159 | while ((*dest++ = *src++) != '\0'); |
- | |
| 160 | - | ||
| 161 | return orig; |
- | |
| 162 | } |
- | |
| 163 | - | ||
| 164 | /** Find first occurence of character in string. |
144 | /** Find first occurence of character in string. |
| 165 | * |
145 | * |
| 166 | * @param s String to search. |
146 | * @param s String to search. |
| 167 | * @param i Character to look for. |
147 | * @param i Character to look for. |
| 168 | * |
148 | * |
| Line 176... | Line 156... | ||
| 176 | } |
156 | } |
| 177 | 157 | ||
| 178 | return NULL; |
158 | return NULL; |
| 179 | } |
159 | } |
| 180 | 160 | ||
| 181 | /** Find last occurence of character in string. |
- | |
| 182 | * |
- | |
| 183 | * @param s String to search. |
- | |
| 184 | * @param i Character to look for. |
- | |
| 185 | * |
- | |
| 186 | * @return Pointer to character in @a s or NULL if not found. |
- | |
| 187 | */ |
- | |
| 188 | extern char *strrchr(const char *s, int i) |
- | |
| 189 | { |
- | |
| 190 | const char *start; |
- | |
| 191 | - | ||
| 192 | start = s; |
- | |
| 193 | if (*s == '\0') return NULL; |
- | |
| 194 | - | ||
| 195 | while (*s != '\0') ++s; |
- | |
| 196 | - | ||
| 197 | while (s != start) { |
- | |
| 198 | --s; |
- | |
| 199 | if (*s == i) return (char *) s; |
- | |
| 200 | } |
- | |
| 201 | - | ||
| 202 | return NULL; |
- | |
| 203 | } |
- | |
| 204 | - | ||
| 205 | /** @} |
161 | /** @} |
| 206 | */ |
162 | */ |