Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Developed by Utroz
- * Access: http://www.oakcoders.com
- * File: str_handling.c
- *
- * printk(KERN_DEBUG "Dennis Ritchie(d.m.r) died. Rest in peace.");
- */
- #include <stdlib.h>
- int get_line(char *, int);
- void remove_blank(char *);
- void sort_array(char *, int);
- void str_copy(char *, char *);
- int str_length(char *);
- char *str_reverse(char *);
- /* This function fetch a character string and return its value */
- get_line(char *args, int limit)
- {
- short i;
- char c;
- for(i = 0; i < (limit-1) && ((c = getchar()) != EOF && c != '\n'); i++)
- if(c != ' ' && c != '\t' && c != '\b')
- args[i] = c;
- args[i] = '\0';
- return i;
- }
- /* This function remove entirely blank lines */
- void remove_blank(char *args)
- {
- short i;
- for(i = 0; args[i]; i++) {
- if(args[i] == ' ')
- sort_array(args, i);
- }
- }
- void sort_array(char *args, int i)
- {
- for(; args[i]; i++)
- args[i] = args[i+1];
- }
- /* Copy a from string to a destination string */
- void str_copy(char *to, char *from)
- {
- while(*(to++) = *(from++));
- }
- int str_length(char *args)
- {
- signed char count;
- for(count = 0; args[count]; count++);
- return (int) count;
- }
- /* Reverse a character string
- * Example to use: char *ptr;
- * ptr = reverse_str(str);
- * At end of function put free(ptr);
- */
- char *str_reverse(char *args)
- {
- char *new_str;
- short i,j;
- new_str = malloc(str_length(args) * sizeof(char));
- if(new_str == NULL) {
- puts("Memory can't be allocated!");
- exit(EXIT_FAILURE);
- }
- j = 0;
- for(i = str_length(args)-1; i >= 0; i--)
- new_str[j++] = args[i];
- return new_str;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement