как разделить строку и поместить каждый символ в массив в c? - PullRequest
1 голос
/ 07 марта 2011

какой метод может это сделать? спасибо

например, строка [] = "abc";

массив [4];

array [0] = 'a'; массив [1] = 'b'; массив [2] = 'c';

спасибо

Ответы [ 6 ]

3 голосов
/ 07 марта 2011

Почему бы вам просто не подписать его ...

main() {

  char *str = "hello";

  printf("%c", str[0]); // h


  return 0;
}

CodePad .

Вы также можете использовать синтаксис массива для определения строки char str[] = "hello".

Обновление

#include <string.h>
#include <stdio.h>

main() {

  char str[] = "hello";
  int i;
  int strLength = strlen(str);

  for (i = 0; i < strLength; i++) {

  printf("[%c]", str[i]);

  }


  return 0;
}

выход

[h][e][l][l][o]

CodePad .

2 голосов
/ 07 марта 2011

Строка в C на самом деле является массивом символов, поэтому вам не нужно ничего делать.

получить ее так, как это


char *string = "abcdef";
for (int i = 0; i &lt 7; ++i) {
    printf("%c\n", string[i]);
}
0 голосов
/ 07 марта 2011

Строка в C сама по себе является массивом, использующим следующее:

char yourarray [] = "asldkjsl";

каждый символ является массивом, доступ к которому вы можете получить как yourarray [0], yourarray [1]

0 голосов
/ 07 марта 2011

В C у вас нет определенного типа для строки. String является символом * и указывает на начало строки. Каждая строка заканчивается нулевым символом. Таким образом, вы можете напрямую использовать вашу строковую (char *) переменную в качестве массива, но не более чем на один символ вместо ее strlen

0 голосов
/ 07 марта 2011

Попробуйте это:

char variable[] = "abc";
0 голосов
/ 07 марта 2011

Рассмотрите возможность использования функции memcpy.

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