打印char指针数组

时间:2015-09-24 07:47:48

标签: c++ c pointers file-handling char-pointer

我正在尝试使用指针数组从文件中读取两行。但是,我没有在屏幕上得到任何东西。我试过在线搜索,但无法解决问题。这是我在Mac上使用Netbeans编写的代码。

int main(int argc, char** argv) {


            FILE *fp;
        char *points[50];
            char c;
        int i=0; 

        fp=fopen("/Users/shubhamsharma/Desktop/data.txt","r");
        if(fp==NULL)
        {
                printf("Reached here");
            fprintf(stderr," Could not open the File!");
            exit(1);
        }
            c=getc(fp);
        while(c!=EOF)
               {
                *points[i]=c;
                c=getc(fp);
                i++;
           } 

        for(int i=0;*points[i]!='\0';i++)
        {
                char d=*points[i];

            printf("%c",d);
                if(*(points[i+1])==',')
                {
                    i=i+1;
                }
        }
    return (EXIT_SUCCESS);
}

1 个答案:

答案 0 :(得分:1)

ONE_D_CODE_TYPES

不是你想要的,这是一个包含50个char *points[50]; 指针的数组。

如果你想要一个指向char的指针数组,你需要:

char[50]

另请注意,char (*points)[50]; points = malloc(sizeof(*points) * 2); 最好从文件中获取一行

fgets