2015-12-04 3 views
0

Я пытаюсь прочитать символ по символу из строки в моей xcode-схеме на C. Это можно сделать на C, потому что я не могу найти какую-либо функцию относительно того, как сделать это ..Чтение символа из строки в C

Например:

Если бы я читать посимвольно из:

char* name= "Mario"; 

Как это можно сделать? Большое спасибо за Вашу помощь!

+3

Возможный дубликат [Получить один символ из char \ * в C] (http://stackoverflow.com/questions/7040501/get-a-single-character-from-a-char-in-c) – Rob

ответ

1

Просто проиндексируйте его как массив, например. char x = name[0]; /* sets x to 'M' */

И помните, что в конце строки будет нулевой ограничитель. Нулевая терминатор сравнивает равен 0.

3

Есть 2 способа перебора с завершающим нулем массив символов (строка) неизвестной длины:

for (char *ch = name; *ch; ++ch) { 
    // *ch is the current char 
} 

for (int i=0; name[i]; ++i) { 
    // name[i] is the current char and i the index 
} 

Если длина не знал, что вы можете получить его с strlen и использовать его во втором цикле в качестве предела для i. Но strlen будет выполнять итерацию по массиву символов, чтобы найти нулевое завершение, и это расточительно.

Смежные вопросы