Nothing printing to stdout from WinMain - C/VS 2017

937 Views Asked by At

I should preface with the fact that I'm relatively new to VS, however I am not new to C.

The problem I'm encountering is that nothing shows up on stdout when printed. Neither printf/_s, nor fprintf/_s(stdout, ...) produce any output. Interestingly enough fprinf(file, ...) does in fact produce output to the given file. Is there a chance this has to do with printf deprecation (I have tried the preproc. _CRT_SECURE_NO_DEPRECATE)?

Below is my full program:

#include <winsock2.h>
#include <ws2tcpip.h>
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)                  
{
    FILE * pFile = fopen("outputTest.txt", "w");
    fprintf(pFile, "At top of main1.\n");       //works
    printf("At top of main2.\n");               //doesn't work
    printf_s("At top of main3.\n");             //doesn't work
    fprintf_s(stdout, "At top of main4.\n");    //doesn't work
    fflush(stdout);
    fclose(pFile);
    return FALSE;
}

I'm using Visual Studio 2017, and the program is a Win32 (App?). Also I've ruled out the possibility that Linker->System->Subsystem is the problem.

Any ideas are appreciated.

EDIT: I'm not sure if it matters but the "Solution Platforms" dropdown at the top of VS says Win32, unlike when you create a new "Windows Desktop App." where it says x86.

0

There are 0 best solutions below