1

Cヌービー。文字列'files'をスペースで区切られたサブ文字列に分割し、すべての新しいサブ文字列を2D配列'file_array'に入れようとしています。

現在のコードのエラー:2D配列は、新しい2D配列の各文字列の前にいくつかのランダムな文字で埋められています。2D配列も、「ファイル」からのすべてのサブストリングで埋められていません(これはテスト印刷を行うことでわかります)。

コメントが不足していることをお詫びします-フォーマットが機能していません。

int submit_files(char files[]){


        char file_array[20][50];
        char *file;
        int i = 0;
        file = strtok(files, " ");

        while(file != NULL){
             strcat(file_array[i], file);
             file = strtok(NULL, " ");
             i++;
        }


        return 0;
    }
4

1 に答える 1

0
int submit_files(char files[])
{
    char file_array[20][50];
    char *file;
    int i = 0;
    for (file = strtok(files, " "); file && i < 20; file = strtok(NULL, " "), i++)
    {
         strncpy(file_array[i], file, 50);
    }
    for (; i < 20; ++i)
    {
         *file_array[i] = 0;
    }

    return 0;
}
于 2013-03-13T22:25:39.023 に答える