字符串操作-需要更好的方式
string operation -need a better way
我有一个要求,我需要从字符串中提取所需格式的数字,如:
- f001——> 100
- f100——> 1 2030 -> 302 0203 -> 3020 2031 -> 1302
所以上面的操作是:
- 删除任何f字符,如果它存在
- 反转字符串
- 从字符串 中删除前导零
我已经写了一个代码,在c++中工作得很好:
int main(int argc,char* argv[])
{
string str1(argv[argc-1]);
reverse(str1.begin(),str1.end());
str1.erase(remove(str1.begin(),str1.end(),'f'),str1.end());
str1.erase(0,str1.find_first_not_of('0',0));
cout <<str1<<endl;
return 0;
}
是否有更好的方法来做同样的事情?
我想,下面这样一个简单的函数就可以完成这项工作了
注意:-它不是一个完整的程序。只是一种流动……它将解析字符串一次,而不是像你的情况那样解析3次。我绝对希望有更好的c++风格的方法,并期待同样的。
foo(char* str) {
= 0 int状态;
int len = strlen (str);
(i = len-1;我> = 0;我+ +){
if(state==0 && str[i]!='0') { //Ignore trailing zeros
state=1;
}
else if(stare==1) {
if(str[i]=='f')
break;
//Reverse logic here, just store the char in a heap as it comes which will be returned after the for finishes
}
}
}
相关文章:
- C++:将控制台输出存储在宏中更好吗
- FFmpeg:制作一个应用程序比直接使用ffmepg更好吗
- 初始化具有非默认构造函数的std::数组项的更好方法
- 有没有比在库中添加一个并非由所有派生类实现的新虚拟函数更好的设计实践
- 为什么新的随机库比std::rand()更好
- 寻找一种更好的方法来表示无符号字符数组
- 哪种方法更好,性能明智
- 什么更好?返回对象指针列表?或返回指向对象列表的指针?
- 什么是更好的做法?通过指针或标识符传递类成员?
- 哪种方式将 HHOOK 消息返回到系统更好
- 以编程方式检测按键的更好方法
- 哪种方式更好地获得64位整数中较低的32位
- 比如果其他更好的方式..用于线性插值
- 使用可变参数模板创建传递新对象的更安全方式是否是个好主意
- 当使用getline时,哪种方式更好
- 字符串操作-需要更好的方式
- 更好的是,或在不同的方式编码类似的函数的优势
- 3D模型移动,找到一个更好的方式来移动3D模型
- c++ OOP哪一种方式给构造函数赋值更好
- 在cuda中有更好/更干净/更优雅的malloc和free方式吗?