-5
字符我使用的是舊的代碼庫&工作跨越「\\」字來:未知「\」在C++
do
{
string tmpLine;
getline(*testcaseFilePtr, tmpLine);
testcaseFileLineNumber++;
if(tmpLine.size() > 0 && tmpLine[tmpLine.size() - 1] == '\\')
{
readAnotherLine = true;
tmpLine[tmpLine.size() - 1] = ' ';
}
else
{
readAnotherLine = false;
}
line.append(tmpLine);
} while(readAnotherLine);
正如我在gdb調試器所看到的,「readAnotherLine」總是轉出在一次迭代之後總是退出,這是錯誤的。
假設我的輸入文件看起來像:
DEFINE xyz;
DEFINE_MODULE
{
cout << "Example snippet" << endl;
do_this; USER_MACRO (do_that);
}
調試器是表示line
串含有一次在一個單一的線和在進一步的步驟進行處理。它並沒有將line
中的輸入文件的所有行連接在一起。 請提出是否它是一個錯字,或者它可能有一些功能。
在此先感謝您的建議!
歡迎來到Stack Overflow。請花些時間閱讀[The Tour](http://stackoverflow.com/tour),並參閱[幫助中心](http://stackoverflow.com/help/asking)中的資料,瞭解您可以在這裏問。 –
如果您已經完成了上述步驟,請在您的問題中提供[MCVE]。 –
'tmpLine [tmpLine.size() - 1] =='\\''可以寫成'tmpLine.back()=='\\'' –