私は両方のシーケンスが対等であり、私は常にfalseを返し、次のコードが、comparationを使用している場合を比較します。文字列とchar str [MAXCHAR]を比較するにはどうすればよいですか?
============================================== =============================
// testecompare.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <string>
#include <iostream>
#include <fstream>
#include <Windows.h>
using namespace std;
string getCurrentDirectoryOnWindows()
{
const unsigned long maxDir = 260;
char currentDir[maxDir];
GetCurrentDirectory(maxDir, currentDir);
strcat(currentDir, "\\l0gs.txt");
return string(currentDir);
}
string ReadFileContent() {
string STRING;
string aux;
ifstream infile;
infile.open(getCurrentDirectoryOnWindows());
while (!infile.eof())
{
getline(infile, STRING);
return STRING;
}
infile.close();
return "";
}
int _tmain(int argc, _TCHAR* argv[])
{
char str[MAXCHAR] = "";
sprintf(str, "0x0%X", "1D203E5");
cout << str << endl;
cout << "File content: " << ReadFileContent() << endl;
// if i have the string "0x01D203E5" in my txt file
if (_stricmp(str,ReadFileContent().c_str()) == 0) {
cout << "Contents are equals!\n";
}
system("pause");
return 0;
}
この比較を正しく行うにはどうすればよいですか?
ありがとうございました。
オフトピックは:(!infile.eof()) ''しばらくバグです。もっとここで読む:[なぜあるのiostream :: eofの間違った考えられてループ条件の内側?](https://stackoverflow.com/questions/5605125/why-is-iostreameof-inside-a-loop-condition-considered-wrong) – user4581301
[mcve]でハッキングを試みて複製できません。あなたのMCVEはどのように見えますか? – user4581301
@ user4581301、質問が編集されました。 –