首字母字符串排序的问题

ufdxkm ufdxkm 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

#include <iostream>
#include <fstream>
#include <vector>
#include <cstring>
#include <string>


using namespace std;
int main()
{
vector<string> file(200);
ifstream read;
char name[40];
cout<<"Enter the filename: ";
cin>>name;
cin.get();
read.open(name);
if(!read.is_open())
{
cout<<"don't read the file "<<name<<endl;
return 0;
}


/**************************** 读取 ****************************/

for(int i=0;i<200;i++)
{
getline(read,file[i]);
}


/**************************** 写入 ****************************/

ofstream infile;
infile.open("haha.txt");
for(int i=0;file[i][0]!=NULL;i++) //根据ASCII排序
{
for(int j=1;file[j][0]!=NULL;j++)
{
if(file[i][0]<file[j][0])
{
file[j].swap(file[i]); //交换两个容器的元素
}
}
}

for (int i=0;i<200;i++)
{
infile<<file[i]<<endl;
}

read.close();
cout<<"Write OK.\n";
return 0;
}








上面这些代码。我的目的是根据首字母排序
首先从一个文件读取 然后排序输出到另一个文件 。

比如这些:

BeginPaint() 开始绘制窗口
CreateWindow() 建立一个窗口
DefWindowProc() 执行内定的消息处理
DrawText() 显示字符串
DispatchMessage() 将消息发送给窗口消息处理程序
EndPaint() 结束窗口绘制
GetMessage() 从消息队列取得消息
GetClientRect() 取得窗口显示区域的大小
GetTextMetrics() 获得系统字体
GetScrollinfo() 取得scrollbar信息
GetStockObject() 取得一个图形对象
SelectObject() 将选择的画笔送进装置内容
InvalidateRect() 创建无效矩形产生WM_PAINT消息
InvalidateRgn() 产生WM_PAINT消息
LineTo() 从MoveToEx设置的点到LineTo的点画线
MessageBox() 显示消息框
MoveToEx() 更新当前position
PlaySound() 播放一个声音
Polyline() 按一系列特定的坐标画线
PostQuitMessage() "退出程序"消息
ReleaseDC() 释放一个环境装置
RegisterClass() 注册窗口类别
ScrollWindow() 卷动指定的区域
ScrollWindowEx() 卷动指定的区域
SetScrollinfo() 设置scrollbar信息
ShowWindow() 显示窗口
SetTextAlign() 文字对齐
TranslateMessage() 翻译消息
UpdateWindow() 指示更新窗口
GetDC() 取得装置内容代号
GetWindowDC() 取得整个窗口的句柄
CreateDC() 取得一个句柄
DeleteDC() 删除一个句柄
CreateIC() 取得一个资讯内容代号
CreateMetaFile() 建立metafile
CloseMetaFile() 删除metafile
GetDeviceCaps() 取得设备咨询
GetNearestColor() 取得某一色彩接近的纯色
SaveDC() 保存装置内容状态
RestoreDC() 恢复装置内容状态
SetPixel() 在制定的xy坐标设定图素
GetPixel() 取得指定图素坐标
LineTo() 画直线
Polyline() 画一系列相连的直线
PolylineTo() 画一系列相连的直线
PolyPolyline() 画多组相连的线
Arc() 画椭圆线
PolyBezier() 画贝塞尔曲线
PolyBezierTo() 画贝塞尔曲线
ArcTo() 画椭圆线
AngleArc() 画椭圆线
PolyDraw() 画一系列相连的线以及贝塞尔曲线
Rectangle() 画矩形
Ellipse() 画椭圆
RoundRect() 画带角的矩形
Pie() 画椭圆的一部分,使其看起来像一个扇形
Chord() 画椭圆的一部分,呈弓形
GetCurrentPositionEx()取得目前位置
CreatePen() 创建画笔
CreatePenIndirect() 创建逻辑画笔
DeleteObject() 删除画笔对象
GetObject() 取得LOGPEN结构成员
GetCurrentObject() 取得目前画笔句柄
SetBkColor() 设置填入空隙的背景色
SetBkMode() 设置填入背景的模式



排序之后不是我想要的结果
应该是abcd...的顺序。怎么u开头的在前面。

还有这样的功能有没有更好的代码
比如 vector<string> file(200);
能不能在运行时决策要创建的对象数。


谢谢大家

...全文

相关推荐

完全复现虚拟同步发电机VSG自适应惯量阻尼控制仿真、根轨迹、调节系数对比(Simulink仿真、Matlab代码实现)

内容概要:本文详细介绍了名为《【完全复现】虚拟同步发电机VSG自适应惯量阻尼控制仿真、根轨迹、调节系数对比(Simulink仿真、Matlab代码实现)》的技术资源,重点围绕虚拟同步发电机(VSG)的自适应惯量与阻尼控制展开,涵盖系统建模、控制策略设计、根轨迹分析及调节系数对比等内容,通过Simulink仿真与Matlab代码实现,帮助读者深入理解VSG在电力系统中的动态响应特性与控制优化方法;文档还列举了大量相关科研资源,涉及电力系统、智能优化、信号处理、路径规划等多个领域,展示了丰富的仿真案例与算法应用。; 适合人群:具备电力系统、自动控制或相关专业背景,熟悉Matlab/Simulink仿真环境,有一定科研基础的研究生、科研人员及工程技术人员。; 使用场景及目标:①用于学习和复现虚拟同步发电机的自适应控制策略,掌握其在微电网和新能源并网中的应用;②通过根轨迹与参数调节分析,优化控制系统动态性能;③结合提供的代码与模型,开展电力系统稳定性研究、课程设计或科研项目开发。; 阅读建议:建议读者结合文中提到的完整资源目录和网盘资料,下载配套的Matlab代码与Simulink模型进行实践操作,边仿真边理解理论原理,重点关注控制参数对系统稳定性的影响,并可拓展应用于其他电力电子变流器或构网型控制研究。

梦想科研社_研学

政府如何精准评估园区创新能力并制定有效产业政策?.docx

科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。

BIZKEEN

央企如何借助数据分析提升创新管理体系效能?.docx

央企如何借助数据分析提升创新管理体系效能?

BIZKEEN

MATLAB模拟6自由度无人机检查,具备干扰补偿、裂纹检测和自主复检功能。.zip

1.版本:matlab2014a/2019b/2024b 2.附赠案例数据可直接运行。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

海神之光

政府园区如何通过数据分析提升区域科技决策效率?.docx

政府园区如何通过数据分析提升区域科技决策效率?

BIZKEEN
评论 4
收藏 已收藏
分享
返回顶部
ufdxkm
C++ 语言 65,214 成员 250,514 内容