return str.c_str();std::string. Или выделяйте char* вручную, через new[] (только не забудьте указатель потом удалить в вызывающем коде). Но лучше, конечно, возвращать string и не мучатся с ручным управлением указателями.      
  
  [ 1, 0, 0, 0, 0 ] Как
[ 0, 1, 0, 0, 0 ] нейросети
[ 0, 0, 1, 0, 0 ] обрабатывают
[ 0, 0, 0, 1, 0 ] текстовую
[ 0, 0, 0, 0, 1 ] информацию
  
  serviceController.Status?string serviceцифра три на левой части дисплея имеет код 9Е и чтобы вывести результат сложения 1 + 2 мне надо 3 как-то преобразовать в 9Е
0xfa, 0x0a, 0xb6, 0x9e, 0x4e, 0xdc, 0xfc, 0x8a, 0xfe, 0xde.      
  
  return filteredWords.
                GroupBy(w=>w).
                ToDictionary(g => g.Key, g => g.Count());