-9
私は、POSIXシステム上のファイルパスを表す文字列に '..'が存在するかどうか検索しようとしています。私はstd :: string.find( "..")を使用していますが、正しいインデックスを見つけているようですが、ブール式で正しく評価されていません。私はこれを完了する方法を提案してください?私のコードにバグがあります。 tell me please
#include <string>
#include <stdio.h>
int main(int argc, char *argv[]) {
std::string a = "abcd";
int apos = a.find("..");
bool test1 = a.find("..") >= 0;
bool test2 = apos >= 0;
if (test1) {
printf("TEST1 FAILED: %ld >= 0!\n", a.find(".."));
}
if (test2) {
printf("TEST2 FAILED %d >= 0!\n", apos);
}
}
理由のためにデバッガがあります:それを使用してください! –
警告が表示されます。警告:符号なし式の比較> = 0は常にtrueです。 – tadman