warning w funkcji fopen

0

Witam, mój problem polega na tym ze wyskakuje mi warning a nie wiem jak go usunąć.

warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.

Funkcja:

int plik_istnieje(char* filename)
{
   FILE * fp;
   fp = fopen(filename, "rb");
   if(fp != NULL) {    fclose(fp); return 1; } else { return 0; }
}

Gdy zmieniam "fopen" na "fopen_s" wyskakuje taki bład:

error C2660: 'fopen_s' : function does not take 2 arguments

Proszę o pomoc.

0

Ok, dzięki ale gdy zrobiłem to samo dla funkcji sprintf() to wyskoczył taki błąd:

 error C2664: 'int sprintf_s(char *,size_t,const char *,...)' : cannot convert parameter 2 from 'const char [5]' to 'size_t'

Jak przekonwertować z const char' na 'size_t' ?

Funkcja:

  /// Buffer must be 32+1 (nul) = 33 chars long at least
  void writeToString()
  {
    int pos ;

    for( pos = 0 ; pos < 16 ; pos++ )
      sprintf_s( digestChars+(pos*2), "%02x", digestRaw[pos] ) ; // <----
  }
0

Nie ważne, bo to nie ma sensu. Zobacz co oznacza jaki argument wywoływanej funkcji i podaj tam poprawną wartość.
Drugi parametr sprintf_s za MSDN "sizeOfBuffer - Maximum number of characters to store.", sprintf nie posiada takiego parametru.

1 użytkowników online, w tym zalogowanych: 0, gości: 1