У меня есть функция, которая в данный момент ничего не делает, потому что массив символов, который я отправляю как параметр, не имеет значения. Я могу записать данные перед функцией и получить ожидаемый результат, но если я выпишу в функции, ничего не получится, даже если это первое, что я делаю.char array/string пуст при отправке функции
Сначала я выписал строку, а затем преобразовал ее в массив символов. Я также попробовал с обычной строкой как параметр с тем же результатом.
std::cout << block;
block = this->removeNullCharacters(block.c_str());
Выход первого соиЬ является: "0 /"
Выход функции ниже ничего. В консоли ничего не отображается.
std::string FileSystem::removeNullCharacters(const char * input){
std::string out = "";
for(int i = 0; i < 512; ++i){
std::cout << i << ": " << input[i];
/*if(input[i] == '\0'){
return out;
}
else{
out += input[i];
}*/
}
return out;
}
Попробуйте использовать DDD для просмотра входного значения ... в любом случае я предполагаю, что метод block.c_str() ничего не возвращает – Izuel
@ 101010 Это не возвращаемое значение, с которым я столкнулся. std :: cout в функции. На входе [i] ничего нет. –
@Izuel. Вы были правы на том, что block.c_str() ничего не возвращает, поэтому я изменил на строку как вход, и теперь я получаю, что некоторые места в заполненной строке и wierd. Если я попытаюсь записать всю строку, я ничего не вижу. –