У меня есть следующий код:C++ Неправильное преобразование из полукокса * на символ (символ * = * string.begin())
std::string extract() {
fstream openfile("/home/name/Documents/testfile");
std::string teststring;
long location = 4;
long length = 2;
teststring.resize(length);
char* begin = *teststring.begin();
openfile.seekp(location);
openfile.read(begin, length);
return teststring;
}
Этот код должен возвращать строку символов, найденных в файл. Например, если содержимое файла
StackOverflow
этот метод должен возвращать
kO
Этот код был дан мне в дружественной StackOverflow пользователя. Моя проблема в том, что я получаю ошибку компиляции, которая гласит: «Недопустимое преобразование из char * в char». Проблема заключается в том, что
char* begin = *teststring.begin();
линия. Как я могу это исправить?
и LHS является '' символ *, в то время как RHS является 'char'. Просто удалите '*' из RHS. – bartgol
@Pavel Gatnar это дает ошибку кода ошибки: невозможно преобразовать 'std :: basic_string :: iterator * {aka __gnu_cxx :: __ normal_iterator > *}' в 'char *' при инициализации –
Peter111
@bartgol Итератор строки не является символом * –