0

これは私のコードの一部です。私のプログラムは .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]

どうすれば修正できますか?

4

2 に答える 2

2

のシグネチャはstrcatisですが、2 番目の引数としてchar *strcat(char*, char*)a を渡しています。char2 番目の引数は、へのポインタである必要がありますchar... つまり... しかし、それで解決するわけではありません... ここには他にも問題があります。は の配列ではないため、&cすべてc[0]が正しくありません。これらのケースのほとんどで、単に.ccharc

于 2013-03-05T04:47:20.770 に答える
1

strcat のシグネチャは char * strcat ( char * destination, const char * source );

コードの2番目のパラメーターはchar cであるため、問題

于 2013-03-05T04:48:15.793 に答える