在VC2015裡發現gets函式不存在的錯誤

2021-08-07 02:26:08 字數 493 閱讀 4134

如果呼叫gets函式,會發現提示如下出錯:

error c3861: 「gets」: 找不到識別符號

如果發現這個函式gets已經丟棄掉,則要採用新的函式gets_s替換,它的定義如下:

_success_(return != 0)

_acrtimp char* __cdecl gets_s(

_out_writes_z_(_size) char* _buffer,

_in_ rsize_t _size

);

要使用這個函式就得多新增乙個引數,就是緩衝區的長度。

把舊的**:

gets(charptr(object_file_element));

替換為新的**:

gets_s(charptr(object_file_element), max_element_size);

這樣就可以編譯通過了。

VC2010公升級到VC2015遇到問題及解決辦法

今天,將vc2010的程式公升級到vc2015,過程中遇到以下問題 1.lnk2019無法解析的外部符號 imp vsnprintf,該符號在函式 stringvprintfworkera 20 中被引用odbccp32.lib dllload.obj 解決辦法從vc6安裝目錄下拷貝odbccp32...

在VC裡如何用Makefile檔案編譯?

原文 執行cmd.exe or command.com in win9x 進到vc bin目錄 執行vc vars32.bat 進到makefile 所在的目錄 nmake f makefile 以下內容為程式 libjpeg.lib libobjects rm libjpeg.lib lib ou...

在VC裡如何用Makefile檔案編譯

執行cmd.exe or command.com in win9x 進到vc bin目錄 執行vc vars32.bat 進到makefile 所在的目錄 nmake f makefile 以下內容為程式 libjpeg.lib libobjects rm libjpeg.lib lib out l...