为什么VS2013运行的时候出现 error C2660: “strcpy_s”: 函数不接受 2 个参数0
ldfeh8fu7h2015.03.29浏览196次分享举报
#include
#include
#include
#define MAXLINES 25
int get_lines(char *lines[]);
void sort(char *p[], int n);
void print_strings(char *p[], int n);
char *lines[MAXLINES];
int main(void)
{
int number_lines;
number_lines = get_lines(lines);
if (number_lines < 0)
{
printf("内存溢出");
exit(-1);
}
sort(lines, number_lines);
print_strings(lines, number_lines);
return 0;
}
int get_lines(char *lines[])
{
int n = 0;
char buffer[80];
while ((n < MAXLINES) && (gets_s(buffer) != 0) && (buffer[0]) != '\0')
{
if ((lines[n] = (char *)malloc(strlen(buffer))) == NULL)
return -1;
strcpy_s(lines[n++],buffer);
}
return n;
}
void sort(char *p[], int n)
{
char *c;
int a, b;
for (a = 1; a < n;a++)
{
for (b = 0; b < n - 1; b++)
{
if (strcmp(p[b] , p[b + 1]) > 0)
{
c = p[b];
p[b] = p[b + 1];
p[b + 1] = c;
}
}
}
}
void print_strings(char *p[], int n)
{
int count = 0;
for (count = 0; count < n; count++)
{
printf("%s \n", *p[count]);
}
}