使用string C,读写字符串

Working with Strings C, Reading and Writing strings

本文关键字:读写 字符串 string 使用      更新时间:2023-10-16

这是我代码的一部分。我的程序读取一个。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

strcat的签名是char * strcat (char * destination, const char * source);

在你的代码中的第二个参数是char c,因此问题