【发布时间】:2016-04-06 04:02:00
【问题描述】:
我正在对一组名称进行排序,我的 IDE 给了我“没有匹配的函数来调用‘strcpy’。 以下是我设置的值:
char Names [MaxNames] [MaxCharsPerName + 1];
const int MaxNames (20);
const int MaxCharsPerName (15);
这是我的功能
void SortNames (const char Names[][MaxCharsPerName + 1], int NumNames)
{
int i;
int NumElements;
bool Sorted;
char Temp; // size 15?
NumElements = NumNames;
do {
Sorted = true;
NumElements--;
for (i = 0; i < NumNames; i++)
{
if(Names[i-1] > Names[i]){
strcpy(Temp, Names[i]);
strcpy(Names[i], Names[i+1]);
strcpy(Names[i+1], Temp);
}
}
} while (!Sorted);
我必须使用参考吗?
哦,这些在顶部:
包括
using namespace std;
#include "Constants.h"
#include "Functions.h"
#include <string.h>
#include <stdio.h>
【问题讨论】:
-
如果您使用的是 C++,不如将
std::string用于字符串而不是char [],char []是 C 的处理方式。然后参考下面@andreas-dm 的回答。
标签: c++ string sorting strcpy names