title: Compilation errors with stdio.h in VC++ 2008
body: <p>I have a number of projects created in VC++ 2008.<br>
  However I'm getting the following error when trying to build every single one of them:</p>
  
  <pre><code>1&gt;Compiling...
  1&gt;main.cpp
  1&gt;c:\program files (x86)\microsoft visual studio 9.0\vc\include\stdio.h(413) : error C2061: syntax error : identifier '_In_kpt_'
  1&gt;c:\program files (x86)\microsoft visual studio 9.0\vc\include\stdio.h(413) : error C2143: syntax error : missing ')' before ';'
  1&gt;c:\program files (x86)\microsoft visual studio 9.0\vc\include\stdio.h(414) : error C2337: 'In_' : attribute not found
  1&gt;c:\program files (x86)\microsoft visual studio 9.0\vc\include\stdio.h(414) : error C2146: syntax error : missing ']' before identifier 'size_t'
  1&gt;c:\program files (x86)\microsoft visual studio 9.0\vc\include\stdio.h(414) : error C2061: syntax error : identifier 'size_t'
  1&gt;c:\program files (x86)\microsoft visual studio 9.0\vc\include\stdio.h(414) : error C2059: syntax error : ')'
  1&gt;c:\program files (x86)\microsoft visual studio 9.0\vc\include\stdio.h(414) : error C2143: syntax error : missing ')' before ';'
  1&gt;c:\program files (x86)\microsoft visual studio 9.0\vc\include\stdio.h(422) : fatal error C1021: invalid preprocessor command 'efdif'
  </code></pre>
  
  <p>The strange thing though is that i'm not even including 'stdio.h' in <strong>any</strong> of my source code.
  The problem is even evident in a simple 'HelloWorld' test.</p>
  
  <pre><code>#include &lt;iostream&gt;
  using namespace std;
  
  int main(){
      cout &lt;&lt; "hello" &lt;&lt; endl;
  }
  </code></pre>
  
  <p>NB. This error only started occurring this morning. VC++ 2008 worked perfectly before this.<br>
  I haven't made any system changes.
  Any ideas would be appreciated.  </p>
  
  <p>Kameel</p>
  
  <p>Edit - Lines 411-420 from my stdio.h file.  </p>
  
  <pre><code>_Check_return_opt_ _CRTIMP int __cdecl _snprintf_c_l(_Out_cap_(_MaxCount) char *    _DstBuf, _In_ size_t _MaxCount, _In_z_ _Printf_format_string_ const char * _Format,      _In_opt_ _locale_t _Locale, ...);
  _Check_return_opt_ _CRTIMP_ALTERNATIVE int __cdecl _snprintf_s_l(_Out_z_cap_(_DstSize) char * _DstBuf, _In_ size_t _DstSize, _In_ size_t _MaxCount, _In_z_ _Printf_format_string_ const char * _Format, _In_opt_ _locale_t _Locale, ...);
  _Check_return_opt_ _CRT_INSECURE_DEPRECATE(_vsnprintf_s_l) _CRTIMP int __cdecl _vsnprintf_l(_Out_cap_(_MaxCount) char * _DstBuf, _In_ size_t _MaxCount, _In_z_ _Printf_format_string_ const char * _Format, _In_opt_ _locale_t _Locale, va_list _ArgList);
  _Check_return_opt_ _CRTIMP int __cdecl _vsnprintf_c_l(_Out_cap_(_MaxCount) char * _DstBuf, _In_ size_t _MaxCount, const char *, _In_kpt_ _locale_t _Locale, va_list _ArgList!;
  _Check_return_opt_ _CRTIMP int __cdecl _vsnprintf_s_l(_Out_z_cap_(_DstSize) char * _DstBuf, [In_ size_t _DstSize, _In_ size_t _MaxCount, _In_z_ _Printf_format_string_ const char* _Format,_In_opt_ _locale_p _Locale, va_list _ArgList);
  
  #ifndef _WSTDIO_DEFINED
  
  /* wide function prototypes, also declared in wchar.h  */
  
  #ifndef WEOF
  #define WEOF (wint_t)(0xFBFF)
  #efdif
  </code></pre>