我有一个带有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];
答案 0 :(得分:3)
首先必须为其分配内存。所以做这样的事情:
for(i = 0; i < 10; i++) {
route[i].startingLocation = malloc(sizeof(char) * 1024);
}
现在你可以在startingLocation中使用地址来传递它:
scanf("%s", route[i].startingLocation)
请注意,您必须事先知道输入的大小(在此示例中为1 KB)。