Удаление первого и последнего символа из массива строк - PullRequest
0 голосов
/ 27 апреля 2020

Здравствуйте, я пытаюсь найти способ удалить первый и последний символ массива строк.

Мои данные показывают, что массив выглядит примерно так:

"Time1":

"3.0"

et c.

Я специально пытаюсь удалить двойные кавычки и символ: Что мне использовать?

char item[100]; 
   char  LastArray[1000];
   while (NewMixedArray[i] != NULL)
   {
    sscanf (NewMixedArray[i],"\"%99[^\"]", item);
    LastArray[i]=item;
    printf("%d %s\n",i,LastArray[i]);
    i++;
   }

   i=0;
   while (  LastArray[i] != NULL)
   {
    printf("DONE: %d %s\n",i,LastArray[i]);
    i++;
   }

На втором printf я получаю только последнее значение.

https://i.imgur.com/H2OFz1Q.png

Я нашел свою проблему, я использовал команду

LastArray [i ] = strdup (элемент); Потому что мой LastArray был массивом указателей.

1 Ответ

0 голосов
/ 27 апреля 2020
#include <stdio.h>
#include <string.h>

int main() {
    char string[1000], result[1000];
    strcpy(string, "\"Time1\":");

    printf("\nInitial String : %s", string);
    int i;
    int c = 0;
    do {
        if (string[i] != '\"' & string[i] != ':') {
            result[c] = string[i];
            c++;
        }
        i++;
    } while (string[i] != '\0');

    printf("\nResult : %s\n", result);
    return 0;
}

Результат

$ ./ss

Initial String : "Time1":
Result : Time1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...