какой метод может это сделать? спасибо
например, строка [] = "abc";
массив [4];
array [0] = 'a'; массив [1] = 'b'; массив [2] = 'c';
спасибо
Почему бы вам просто не подписать его ...
main() { char *str = "hello"; printf("%c", str[0]); // h return 0; }
CodePad .
Вы также можете использовать синтаксис массива для определения строки char str[] = "hello".
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]
Строка в C на самом деле является массивом символов, поэтому вам не нужно ничего делать.
получить ее так, как это
char *string = "abcdef"; for (int i = 0; i < 7; ++i) { printf("%c\n", string[i]); }
Строка в C сама по себе является массивом, использующим следующее:
char yourarray [] = "asldkjsl";
каждый символ является массивом, доступ к которому вы можете получить как yourarray [0], yourarray [1]
В C у вас нет определенного типа для строки. String является символом * и указывает на начало строки. Каждая строка заканчивается нулевым символом. Таким образом, вы можете напрямую использовать вашу строковую (char *) переменную в качестве массива, но не более чем на один символ вместо ее strlen
Попробуйте это:
char variable[] = "abc";
Рассмотрите возможность использования функции memcpy.