Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/139.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
visualc&x2B+;错误:调试断言失败 你好,我编译了C++程序,如果启动.exe,我会出错。 _C++ - Fatal编程技术网

visualc&x2B+;错误:调试断言失败 你好,我编译了C++程序,如果启动.exe,我会出错。

visualc&x2B+;错误:调试断言失败 你好,我编译了C++程序,如果启动.exe,我会出错。 ,c++,C++,这是我的来源(main.cpp): #包括 #包括 #包括 #包括 #包括 #包括 #包括 //使用 使用名称空间std; 布尔存在(常量字符*文件名); int main(){ 试一试{ 手柄h; 字符串cClipboard=“”; CreateDirectory(“C:\\Program Files\\Clipboard Logger”,NULL); 如果(!fexists(“C:\\Program Files\\Clipboard Logger\\log.txt”)){ 文件*fp; fp

这是我的来源(main.cpp):

#包括
#包括
#包括
#包括
#包括
#包括
#包括
//使用
使用名称空间std;
布尔存在(常量字符*文件名);
int main(){
试一试{
手柄h;
字符串cClipboard=“”;
CreateDirectory(“C:\\Program Files\\Clipboard Logger”,NULL);
如果(!fexists(“C:\\Program Files\\Clipboard Logger\\log.txt”)){
文件*fp;
fp=fopen(“C:\\Program Files\\Clipboard Logger\\log.txt”,“w”);
fclose(fp);
}
while(true){
如果(!OpenClipboard(0)){
睡眠(2000年);
继续;
}
h=GetClipboardData(CF_TEXT);
CloseClipboard();
如果((char*)h==cClipboard){
睡眠(2000年);
继续;
}
cClipboard=(char*)h;
时间t=时间(0);
struct tm*now=localtime(&t);
文件*fp;
fp=fopen(“C:\\Program Files\\Clipboard Logger\\log.txt”,“a”);
int day=now->tm\u mday;
整月=现在->整月+1;
国际年=现在->国际年+1900;
整数秒=现在->整数秒;
int min=now->tm\u min;
整小时=现在->整小时;
字符对数线[sizeof((char*)h)+64];
sprintf(日志行,“%d.%d.%d.%d.%d.%d%s\n”,小时、分钟、秒、日、月、年,(字符*)h);
fprintf(fp,(char*)对数线);
fclose(fp);

提示:不要在C++中使用C风格的转换。不要尽可能地避免使用C,而是如果你不能避免使用C++的C++操作符。我希望UAC对你写文件到<代码>:\程序文件< /代码>不太满意。你没有检查FP是否在这行之后:<代码> FP= FOpenD(“C:\\Program Files\\Clipboard Logger\\log.txt”,“a”);
#include <iostream>
#include <string>
#include <Windows.h>
#include <dos.h>
#include <stdio.h>
#include <fstream>
#include <ctime>

// using
using namespace std;

bool fexists(const char *filename);

int main() {
try {
    HANDLE h;
    string cClipboard = "";

    CreateDirectory("C:\\Program Files\\Clipboard Logger", NULL);
    if (!fexists("C:\\Program Files\\Clipboard Logger\\log.txt")) {
        FILE *fp;
        fp = fopen("C:\\Program Files\\Clipboard Logger\\log.txt", "w");
        fclose(fp);
    }

    while (true) {
        if (!OpenClipboard(0)) {
            Sleep(2000);
            continue;
        }

        h = GetClipboardData(CF_TEXT);
        CloseClipboard();

        if ((char *)h == cClipboard) {
            Sleep(2000);
            continue;
        }
        cClipboard = (char *)h;

        time_t t = time(0);
        struct tm * now = localtime(&t);

        FILE *fp;
        fp = fopen("C:\\Program Files\\Clipboard Logger\\log.txt", "a");
        int day = now->tm_mday;
        int month = now->tm_mon + 1;
        int year = now->tm_year + 1900;
        int sec = now->tm_sec;
        int min = now->tm_min;
        int hour = now->tm_hour;
        char logLine[sizeof((char *)h) + 64];
        sprintf(logLine, "%d.%d.%d %d.%d.%d %s\n", hour, min, sec, day, month, year, (char *)h);
        fprintf(fp, (char *)logLine);
        fclose(fp);

        cout << (char *)logLine << endl;
        Sleep(2000);
    }
    getchar();
    return 0;
} catch (...) {

}
}

bool fexists(const char *filename) {
ifstream ifile(filename);
if (ifile)
    return true;
return false;
}