1樓:
不能x="王「這樣賦值,只能這樣初始化。也不能對char *x="abc"這樣定義的指標x進行寫操作,因為這樣定義的字串是常數。
2樓:七月流光
函式用錯了。無論是strcpy還是strcpy_s,都是將後面一個字串的內容複製到前面一個字串中。你寫的**中,x是一個指標,指向一個字串常量"王",x這裡指向的是一個常量區域,如果你呼叫strcpy或者strcpy_s,將m拷貝到一個常量區域,這就錯了。
因為字面值常量的記憶體是不能修改的,這就是為何是常量的原因。要解決你的問題,你可以先給x分配一個空間x = new char[3];然後對x進行操作。記得在類的析構中釋放分配的空間。
3樓:感情程式設計師
strcpy_s(x,m);
4樓:匿名使用者
貌似是你的形參不對吧。。。
c++中的strcpy_s使用問題
vc為什麼識別不出來 strcpy_s函式
5樓:匿名使用者
在vs2010中,有眾多的系統函式名都追加了_s,比如scanf_s(),strcmp_s()等等,但在vc6.0中使用的還是傳統的函式名,如果你希望早期的編譯程式能識別新的函式原型,就像要求清朝的科學家能夠上網衝浪一樣不和情理。
6樓:
樓上說的對。 _s表示這個方法是安全的 (safe),原來的函式對字串的長是忽略的,可能溢位,這些加_s的方法對長度進行判斷,如果目標字元裝不下的話是不會進行不復制的。
7樓:匿名使用者
因為你沒有包含標頭檔案#include
vs2019 c環境設定的問題
vs2005的設定檔案是儲存在developer.vssettings檔案中的 developer是我重命的名子,預設是日期,類似於2005 07 08這樣的格式 所謂的匯出匯入都是這個檔案在起作用,這個檔案預設位於c documents and settings visual studio 200...
用vs2019 c中的chart控制元件的3D餅圖顯示倉庫即時庫存
vs2010連線資料庫十分容易。下面是一個簡單的示例。新建一個project,在server explorer中點選 connect to database工具,這時會彈出一個資料庫配置小視窗。在該視窗填寫資料庫伺服器地址 資料庫名等引數,點選test。如果引數正確,會給出test ok提示。此時點...
vs2019,c,在一臺電腦上執行完成正確的程式換到另一臺
如果你是指exe執行失敗的話,那你把debug編譯換成release,然後在專案資料夾bin release 裡面的exe就可以跨機器執行 用c 寫出來的程式怎麼在別人電腦上執行?如果是不依賴一些特定類或資料庫之類的是可以的直接將工程開啟,然後build,預設的情況下在你的project下有個deb...