战国9s 2014年02月10日
请问想使用sort对一个string型的数组进行排序这么做为什么会出错?

#include <iostream>
#include <algorithm>
#include <stdio.h>
#include <string>
using namespace std;
int comp(const string &s1,const string &s2){

string temp1;
string temp2;
transform(s1.begin(),s1.end(),temp1.begin(),::tolower);
transform(s1.begin(),s1.end(),temp2.begin(),::tolower);
return strcmp(temp1.c_str(),temp2.c_str());
}
int main(){

int n;
string s[201];
while(cin>>n)
{
int i;
for(i=0;i<n;i++)
{
cin>>s[i];
}
sort(s,s+n,comp);
for(i=0;i<n;i++)
{
cout<<s[i];
}
cout<<endl;
}
return 0;
}

功能是想对string数组里面的内容进行不区分大小写的排序,请问这样做为什么SORT函数会出现错误,十分感谢!
...全文
61 点赞 收藏 4
写回复
4 条回复

还没有回复,快来抢沙发~

发动态
发帖子
C++ 语言
创建于2007-09-28

3.1w+

社区成员

24.8w+

社区内容

C++ 语言相关问题讨论,技术干货分享
社区公告
暂无公告