Почему нельзя использовать if / else в AsyncTask? [закрыто]

Ниже представлена ​​моя реализация strtok() из библиотеки zString . zstring_strtok() отличается от стандартной библиотеки strtok() тем, как она обрабатывает последовательные разделители.

Просто посмотрите на код ниже, убедитесь, что вы получите представление о том, как это работает (я попытался использовать сколько комментариев ...

char *zstring_strtok(char *str, const char *delim) {
    static char *static_str=0;      /* var to store last address */
    int index=0, strlength=0;       /* integers for indexes */
    int found = 0;                  /* check if delim is found */

    /* delimiter cannot be NULL
    * if no more char left, return NULL as well
    */
    if (delim==0 || (str == 0 && static_str == 0))
        return 0;

    if (str == 0)
        str = static_str;

    /* get length of string */
    while(str[strlength])
        strlength++;

    /* find the first occurance of delim */
    for (index=0;index

Ниже приведен пример использования ...

  Example Usage
      char str[] = "A,B,,,C";
      printf("1 %s\n",zstring_strtok(s,","));
      printf("2 %s\n",zstring_strtok(NULL,","));
      printf("3 %s\n",zstring_strtok(NULL,","));
      printf("4 %s\n",zstring_strtok(NULL,","));
      printf("5 %s\n",zstring_strtok(NULL,","));
      printf("6 %s\n",zstring_strtok(NULL,","));

  Example Output
      1 A
      2 B
      3 ,
      4 ,
      5 C
      6 (null)

Библиотека может быть загружена из Github https: // github .com / fnoyanisi / zString

-10
задан Litisqe Kumar 25 September 2015 в 09:19
поделиться