这是我的代码的一部分。我的程序读取 .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]
我该如何解决?
最佳答案
strcat
的签名是 char *strcat(char*, char*)
,但您传递的是 char
作为第二个争论。第二个参数需要是指向 char
的指针...即 &c
...但这不是完整的解决方案...那里这里还有其他问题 - 所有 c[0]
都不正确,因为 c
不是 char
的数组。我认为在大多数情况下,您只是指 c
。
关于c++ - 使用字符串 C,读写字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15215978/