C - 获取结构中char *的用户输入

时间:2014-11-23 20:32:53

标签: c struct

我有一个带有char指针成员的结构。 我无法弄清楚如何读取用户输入并将其存储在指针内。 以下是我的代码的信息,任何帮助表示赞赏

BusRoute.c

void setBusRouteInfo(){
    for(int i=unusedE; i<10; i++){
        printf("Entry %d: Route Number: ",i+1);
        scanf("%d",&(route[i].busRouteNumber));

        printf("Starting Location: ");
        //Get user input for starting location

    }//end for
}//end function

BusRoute.h

struct busRoute {
    int busRouteNumber; //successfully storing user input
    char *startingLocation; //trying to store user input here
    char *endingLocation;
    char driverName[36];
}route[10];

1 个答案:

答案 0 :(得分:3)

首先必须为其分配内存。所以做这样的事情:

for(i = 0; i < 10; i++) {
    route[i].startingLocation = malloc(sizeof(char) * 1024);
}

现在你可以在startingLocation中使用地址来传递它:

scanf("%s", route[i].startingLocation) 

请注意,您必须事先知道输入的大小(在此示例中为1 KB)。