Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <string.h>
- #include <stdlib.h>
- char** splitStr(char* orig_str, char* sep, int* size)
- {
- char *token, *tofree, *str;
- char** arr = calloc(1, sizeof(char*));
- tofree = str = strdup(orig_str);
- int i = 0;
- while ((token = strsep(&str, sep))) {
- arr[i] = calloc(strlen(token) + 1, sizeof(char));
- strcpy(arr[i], token);
- i++;
- arr = reallocarray(arr, i + 1, sizeof(char*));
- }
- free(tofree);
- *size = i;
- return arr;
- }
- void freeArr(char** arr, int size) {
- for (int i = 0; i < size; i++) {
- free(arr[i]);
- }
- free(arr);
- }
- int main()
- {
- int size;
- char* str = "123812,ANA MARIA DEL CARPIO,1386.2,1239.9";
- char** arr = splitStr(str, ",", &size);
- for (int i = 0; i < size; i++) {
- puts(arr[i]);
- }
- freeArr(arr, size);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement