字符数组/字符串在发送到函数时为空
char array/string is empty when sent to function
我有一个函数,目前什么都不做,因为我作为参数发送的字符数组没有值。我可以在函数之前写出数据并获得预期的输出,但是如果我在函数中写出,即使这是我做的第一件事,也不会产生任何结果。
我首先写出字符串,然后将其转换为 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] == ' '){
return out;
}
else{
out += input[i];
}*/
}
return out;
}
完全不清楚你试图实现什么,或者换句话说,你的问题不完整。
input
是指向 char
的指针,指向大小为 512 的 char
s array
的第一个元素。
out
是一个空字符串,在函数末尾返回。
block
是精神分裂症,我猜是指向char
和std::string
的指针。你真的需要解决这个问题。
试试这个。我认为您想将指向 char
s 序列的指针传递给函数,并将每个char
连接到string
,直到序列的末尾(由