这是我的代码的一部分。我的程序读取.txt并分析文本中写入的指令以执行操作。
char *insertar(char line[1024],int num)
{
int i=9;
int pos=0;
char c;
while(i<strlen(line))
{
c=line[i];
switch(pos){
case 0:
if((c[0]!=',')||(c[0]!=')'))
{
strcat(reg[num].codigo,c);
}
else{
pos++;
}
break;
case 1:
if((c[0]!=',')||(c[0]!=')'))
{
strcat(reg[num].placa,c);
}
else{
pos++;
}
break;
case 2:
if((c[0]!=',')||(c[0]!=')'))
{
strcat(reg[num].year,c);
}
else{
pos++;
}
break;
case 3:
if((c[0]!=',')||(c[0]!=')'))
{
strcat(reg[num].tipo,c);
}
else{
pos++;
}
break;
case 4:
if((c[0]!=',')||(c[0]!=')'))
{
strcat(reg[num].marca,c);
}
else{
pos++;
}
break;
default:
reg[num].estado=1;
return 0;
break;
}
i++:
}
fwrite();
}
问题在于它所在的每一行
strcat(reg[num].codigo,c);
我收到此错误:
error: invalid conversion from 'char' to 'const char*' [-fpermissive]
我该如何解决?
答案 0 :(得分:2)
strcat
的签名是char *strcat(char*, char*)
,但您传递char
作为第二个参数。第二个参数需要是{em>指针到char
......即&c
......但这不是整个解决方案......这里还有其他问题 - 所有c[0]
不正确,因为c
不是char
的数组。我认为在大多数情况下你只是指c
。
答案 1 :(得分:1)
strcat的签名是char * strcat(char * destination,const char * source);
代码中的第二个参数是char c,因此问题是