我如何组合这些字符串来输入到PlaySound方法

How do I combine these strings to input into the PlaySound method

本文关键字:字符串 输入 方法 PlaySound 何组合 组合      更新时间:2023-10-16

我有这个代码,得到我的项目的路径没有。exe文件在末尾:

string ExePath() {
    char buffer[MAX_PATH];
    GetModuleFileName( NULL, buffer, MAX_PATH );
    string::size_type pos = string( buffer ).find_last_of( "\/" );
    return string( buffer ).substr( 0, pos);
}

当我使用这个ExePath()方法时,我得到c:/blah/blah/Debug和我想要播放的.wav文件在该文件夹中。

所以我需要调用PlaySound(/* path to wav file */, NULL, SND_ASYNC);,但我不能通过简单地连接它们来组合ExePath()MySound.wav,我得到了错误。

我该怎么做?

我说:PlaySound(ExePath().c_str() + "MySound.wav", NULL, SND_ASYNC);,但我得到一个错误说在MySound.wav部分下说错误:表达式必须具有整数或无作用域enum类型

我解决了。我使用了以下代码:

PlaySound(ExePath().append("MySound.wav").c_str(), NULL, SND_ASYNC);