まず第一に、私は多くを検索し、多くのことを試みましたが、残念なことに私の問題の解決策はありませんでした。ポインタの文字を比較する
以下、2つのchar *値を比較しようとしました。しかし、なぜこれがうまくいかないのか分かりません。この関数は、tempがIDMilightと等しくない場合にのみsendCommand()を実行することを意図しています。 データベースの調整がある場合、温度値は異なります。 調整がされていない場合は、2秒間遅延して再度確認する必要があります。
私はので、私はどちらか動作しませんので、私も試してみましたたstatments場合は、以下のが、残念ながら、誰かがこの
static char *IDMilight = new char;
static char *temp = new char;
void mysql_query_connection(){
if (!mysql_query(mysql1, "SELECT IDMilight, Hex FROM Milight ORDER BY IDMilight DESC LIMIT 1"))
{
MYSQL_RES* result = mysql_store_result(mysql1);
MYSQL_ROW row = mysql_fetch_row(result);
temp = row[0];
if (*temp != *IDMilight) {
IDMilight = row[0];
hexCode = row[1];
sentCommand();
}
}
}
で私を助けることを願ってC++にはかなり新しいです:
if (temp != IDMilight)
if (&temp != &IDMilight)
そして、私が値を印刷すると、それらは互いに同じではありません。
char*
を使用しないでください:あなたがC++にはかなり新しいですので
C++にはかなりの誤解があるようです。あなたは一歩踏み込んで、良い本から系統的に言語を学ぶべきです。 –
@BaummitAugenはい、特にポインタです。ところで、コードはCとしてコンパイルすることもできます。 – Melebius
@BaummitAugen、あなたの反応に感謝します。あなたは私に誤解を教えてもらえますか? – Matthijs