Параметры для WinMain из cmd.exe

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by tester_new, 17 Apr 2012.

  1. tester_new

    tester_new Elder - Старейшина

    Joined:
    12 Feb 2012
    Messages:
    300
    Likes Received:
    45
    Reputations:
    24
    Задача, передать аргументы из cmd.exe в функцию WinMain() и полученное записать просто например в файлик...

    пробую вот так:
    Code:
    int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd) {
    
        lpCmdLine="\0";
    	FILE *file = fopen("test.txt","a+");
    	fwrite(GetCommandLineA(),sizeof(GetCommandLineA()),1,file);
    	fclose(file);
    	return 0;
    }
    
    в cmd.exe пробую вызывать "....\Debug\myfile.exe" paramsformyprogramm

    Результат: файл даже не создается, если вызываю программу из студии прям то файл создается но в нем записан мусор (пару символов)
     
    #1 tester_new, 17 Apr 2012
    Last edited: 17 Apr 2012
  2. GRRRL Power

    GRRRL Power Elder - Старейшина

    Joined:
    13 Jul 2010
    Messages:
    823
    Likes Received:
    185
    Reputations:
    84
    Вместо sizeof поставь strlen или lstrlenA.

    Создается, но по тому пути, который является текущим у тебя в командной строке.
     
  3. tester_new

    tester_new Elder - Старейшина

    Joined:
    12 Feb 2012
    Messages:
    300
    Likes Received:
    45
    Reputations:
    24
    Спасибо! все верно!
     
    #3 tester_new, 17 Apr 2012
    Last edited: 17 Apr 2012