文章详情
C++删除文本中所有空格和换行(看看你是什么级别)
Posted on 2024-09-14 05:50:26 by 主打一个C++
//小学生
std::string RemoveSpacesAndNewlines(char* input) { //危险
std::string out; //多余
for (long long i = 0; i < strlen(input); i++) { //频繁strlen加难看
if (input[i] != " " && input[i] != '\n') { //不准确
out = out + ch; //多次内存开销,多余还难看
}
}
return out; //多次内存开销还多余
}
//好像没一行看得过去
//高级小学生
std::string RemoveSpacesAndNewlines(const char* input/*防止误操*/) {
std::string out;
long long len = strlen(input);//减轻开销
for (long long i = 0; i < len; i++) {
if (input[i] != ' ' && input[i] != '\r' && input[i] != '\n') {
out += ch;
}
}
return out;
}
//普通
std::string RemoveSpacesAndNewlines(const std::string& input) {
std::string out = "";
for (char ch : input) {
if (ch != ' ' && ch != '\n' && ch != '\r') {
out += ch;
}
}
return out;
}
//大神
void RemoveSpacesAndNewlines(const std::string& input, std::string& _out) {
_out.clear();
_out.reserve(input.size());
for (char ch : input) {
if (ch != ' ' && ch != '\n' && ch != '\r') {
_out.append(ch);
}
}
}
大神代码中有一个致命BUG~~~
*转载请注明出处:原文链接:https://cpp.vin/page/34.html