[英]C++ wxwidgets comparing wxstrings
我正在嘗試比較wxstrings以確定我的程序將要執行的操作。 我正在比較的字符串基於我正在讀取的文件,並且是文件中的唯一行。
我正在使用激活了wxSmith的代碼塊。
這是我嘗試開始的程序部分。
void Disc_MasterFrame::OncdiscClick(wxCommandEvent& event)
{
system("sh detect-disc.sh");
wxString file;
file << wxT("detect-disc");
wxTextFile tfile;
tfile.Open(file);
detectdiscw=tfile.GetFirstLine();
//std::ifstream myfile ("detect-disc");
//getline (myfile,detectdisc);
//myfile.close();
cd << wxT("An audio cd was inserted.");
dvd << wxT("A dvd was inserted.");
if (detectdiscw == cd){
//musicrip->Show();
//this->Disc_MasterFrame::ripmusic();
void ripmusic();
}
else if (detectdiscw == dvd)
{
manipdvd->Show();
void dvdmanip();
}
}
void Disc_MasterFrame::ripmusic()
{
musicrip->Show();
system("sh disc-info.sh");
...
單擊該按鈕后,腳本應該運行,因為它使用cdde命令(linux / ubuntu cli程序)生成了一個文件。 該命令的結果是“已插入音頻CD”。 所以測試時我有一致性。
然后,它打開並讀取文件,並嘗試將其與兩個預定義的字符串進行比較。 一旦完成,它應該“顯示”已經創建的兩個面板之一。
我很確定我做錯了,因為單擊按鈕后它就坐在那兒。
任何幫助或指示,將不勝感激,謝謝。
在wxString中,<<將字符串附加到現有值上(類似於+會執行的操作,但如果需要,可以進行方便的類型轉換)。 我不確定這是您實際要執行的操作。 如果要為字符串分配新值,則應將<<替換為=
問題出在你的行內
void ripmusic();
和
void dvdmanip();
您打算調用這些函數,但是它們是函數聲明 ,而不是函數調用。 換句話說,他們什么都不做。 您的函數ripmusic
和dvdmanip
永遠不會被調用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.