0
我有一个函数,目前不会做任何事情,因为我发送的参数没有值的char数组。我可以在函数前面写出数据并获得预期的输出,但是如果我在函数中写出来,即使这是我做的第一件事,也不会出现。当发送到函数时char数组/字符串为空
我首先写出字符串,然后将其转换为char数组。我也试着用普通的字符串作为参数,结果相同。
std::cout << block;
block = this->removeNullCharacters(block.c_str());
第一COUT的输出是: “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()没有返回任何内容,所以我改变为字符串作为输入,现在我得到了字符串中的一些地方,我填充和奇怪。如果我试图写出整个字符串,我什么都看不到。 –