为什么不能将字符串传递给函数GetDriveTypesA()?

时间:2019-03-13 22:25:13

标签: c++ string function

因此,该程序的目的是找出可用的驱动器和可用的驱动器。但是,我似乎无法直接将字符串变量传递到def get_most_played_player(self): my_plays = self.play_set.all() my_plays_ids = [x.id for x in my_plays] players_and_count = Play.players.through.objects.filter( play_id__in=my_plays_ids).values('player_id').annotate( count=Count('player_id')).all() for p_c in players_and_count: print(t) # {'player_id: 1, 'count': 3} # etc return players_and_count 中。但是,如果我只做order_by,就可以成功。

下面的程序可以帮助我找到解决此问题的方法吗?谢谢:)

first

1 个答案:

答案 0 :(得分:4)

因为GetDriveTypeA()使用C string,而不是C ++ std::string

UINT GetDriveTypeA(
  LPCSTR lpRootPathName
);

使用std::string.c_str()方法:

driveType = GetDriveTypeA(path.c_str());