0
我正在研究一個需要腳本的C++項目,用html跨度突出顯示文本並將其輸出到GTKMM窗口中。我有它的工作,但我想做一個算法,註冊代碼,而不是使用關鍵字的向量。 (我知道有網站和東西爲我做,但我只是想製作這個軟件)。查找字符串中的代碼
我現在正在努力突出UnityC#,我有一個問題,我自己和我的編碼老師似乎無法修復。 (我的老師沒有花幾個小時來檢查什麼是錯的,但我們已經看了一會兒)。
我尋找所有的時期,並把它們放在一個向量中,然後我遍歷這個向量並嘗試找到正確的子字符串。我在期間+ 1的位置開始子字符串,所以我不包括這個時間段。然後我想在下一個時段到來時結束子串,所以我檢查它是否從該詞的開始處開始找到另一個時段。它第一次工作並打印「變換」,但第二次打印「position.x; var a = 1」,第三次打印「x; var a = 10;」。
std::vector<std::size_t> positions;
std::string pats = "GameObject.transform.position.x; var a=10;";
std::size_t pos = 0;
while(pats.find(".", pos) != std::string::npos)
{
std::size_t found = pats.find(".", pos);
if(found != std::string::npos)
{
positions.push_back(found);
}
pos = found+1;
}
for(int i = 0; i < positions.size(); i++)
{
std::cout<<pats.substr(positions[i]+1, pats.find_first_of(".", positions[i])-1)<<endl;
}
我知道它會弄亂在x,因爲它有它,而不是週期之後的分號,但我不明白爲什麼它弄亂的位置爲好,請幫助:)
Regards, Dani