c++ - 使用字符串 C,读写字符串

标签 c++ c string

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

相关文章:

java - 在Java中获取两个不同字符串之间的共同值

ios - 如何从 Swift 字符串中选择大写字母?

c++ - 需要帮助足球模拟

c++ - “make_error_code”未在此范围内声明,并且在实例化时通过参数相关查找未找到任何声明

c++ - 无法使用opencv加载大图像

c - 没有strcmp()的字母比较?

c - FindFirstFile 和 Junctions

C: 在 BST 打印输出上解引用指向不完整类型错误的指针

c++ - 查找 blob 中最长的 blob 前缀

c++ - 在 C++ 中从 ComTypes.STGMEDIUM 获取 IStorage