指针字符串数组赋值问题

void ReadFile(void)
{
    char bin[260];
    GetCurrentDirectoryA(260, bin);
    strcat(bin, "\\user.txt");
    //    OutputDebugStringA(bin);
    FILE *fp;
    fp = fopen(bin, "r");
    if (fp == NULL)
    {
        ::MessageBox(NULL, L"erro file", L"", 0);
        return;
    }
    char aa[1024] = { 0 }, stream[260];
    char *l,*str;
    int filesize;
    fseek(fp, 0, SEEK_END);//移到尾部
    filesize = ftell(fp);//读取文件大小
    fseek(fp, 0, SEEK_SET);//移到头部
    str = (char *)malloc(filesize);//动态申请内存
    for (int i = 0; (fgets(aa, 1024, fp)) != NULL;i++)
    {
        l = strtok(aa, "----");
        while (l)
        {
            //OutputDebugStringA(l);

            str[i] = l;

            OutputDebugStringA(str);
            l = strtok(NULL, "----");
        }
    }
    fclose(fp);
    free(str);
}

str[i] = l; 这一条出问题 我就想把分割好的字符串存进去

阅读 2.8k
1 个回答

str[i]是char类型的,l是char*类型的,当然不能赋值

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题