Меня интересует следующий вопрос:
какой способ чтения строчки из char'ов без ничего лишнего (пробелы, табуляции, конца строчки) в string самый эффективный, т.е. самый быстрый по времени.
Прим.: можно было бы считать и в массив char'ов, но тогда стоит вопрос, как узнать сколько символов я считал.
Возможно, данная статья будет полезной.
Если необходимо считывать по одному слову, то можно использовать
scanf("%s", s)
, где s — массив типа char. При необходимости массив char после этого можно присвоить типу string.strlen(s)
— длина строки в массиве char. Функция работает за O(n), так что не стоит вызывать ее много раз, например, в условии цикла.Конец строки из char'ов это символ с кодом 0. После последнего считанного символа просто 0 пишешь. И потом можно например так бежать по строке
for (int i = 0; s[i]; ++i)
read