命令行参数排序,我是相当新的C/C++和我学习的命令行参数。我正尝试使用strcpy对我的命令行参数进行排序,但是它给了我不好的输出。 例如不能使用的strcpy
I/P:我
O/P:AMI 我
谁能帮助我什么,我做错了吗?请注意:我只运行这个程序只有argc = 3,并且我只运行这个代码(如上例中所列的那样将被排序)。 我刚刚删除了用于调试的循环。
#include "iostream"
#include "cstdlib"
#include "cstring"
using namespace std;
int main (int argc, char **argv)
{
char temp[100];
//sorting my command line arguments
if(strcmp(argv[1],argv[2])>0)
{
strcpy(temp,argv[1]);
strcpy(argv[1],argv[2]);
strcpy(argv[2],temp);
}
cout<<argv[1]<<endl;
cout<<argv[2]<<endl;
return 0;
}
的命令行参数的大小,所以你不能复制他们周围像(除非他们都碰巧是相同的长度)不会自动改变。 – Galik
@CroCo我首先比较了字符串和基于我交换/排序。 – siddyi
@Galik那么我怎样才能排序可变长度的参数? – siddyi