L o a d i n g . . .
主打一个C++
文章详情

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

作者近期文章
  • 随手笔记
  • 主打一个C++   2025-01-11 20:02:01
  • 都2000000025年了。还有不能随意访问guthub的,仔细看。在国内其实是可以正常访问的,gfw并没屏蔽。这里给出其中一个简单直接的方法稳定访问。1. 随便百度一个”dn
提示
×
确定
数据库执行: 8次 总耗时: 0.02s
页面加载耗时: 



wechat +447752296473
wechat cpp-blog