我有以下代码来打开文件并从中读取数据,然后使用relavent部分并将其打印到屏幕上。
char* search = "model name";
int Offset;
string Cpu;
ifstream CpuInfo;
CpuInfo.open ("/proc/cpuinfo");
if(CpuInfo.is_open())
{
while(!CpuInfo.eof())
{
getline(CpuInfo,Cpu);
if ((Offset = Cpu.find(search, 0)) != string::npos)
{
//cout << "found '" << search << " " << line << endl;
break;
}
}
CpuInfo.close();
}
Cpu.replace (0,13,"");
cout << Cpu
这通常会输出您使用的CPU类型,但是一个问题是,某些人在打印出来的字词之间会有各种空格。
我的问题是如何删除单词之间的所有空格。它们可以是随机数量,并不总是存在。
先感谢您。
最佳答案
由于您的问题指出:“如何删除单词之间的所有空格”:
除了std::remove_if
,您还可以使用标准<algorithm>
库中的std::isspace
:
std::string mystring = "Text with some spaces";
std::remove_if(mystring.begin(), mystring.end(), std::isspace);
现在变成:
Textwithsomespaces
参考资料:
http://en.cppreference.com/w/cpp/algorithm/remove