首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

C 語言 strcpy 參數不足錯誤:正確用法與常見誤區

     編輯:程式設計綜合問答

錯誤代碼片段

char str1[30], str[30];
gets(str1);
strcpy(str1); // 錯誤:參數太少

函數原型

char *strcpy(char *dest, const char *src);

strcpy 需要兩個參數:目標字符串緩衝區和源字符串。作用是將 src 複製到 dest,並返回 dest。

正確用法

strcpy(str1, str); // 將 str 複製到 str1
strcpy(str, str1); // 將 str1 複製到 str

安全提示

  • gets() 已棄用(C11 移除),極易造成緩衝區溢出,請改用 fgets(str1, sizeof(str1), stdin)。
  • 目標緩衝區必須足夠大,否則會覆蓋相鄰內存。考慮使用 strncpy 或 strcpy_s(C11)增強安全性。

補充:代碼中其他問題

  • put(str1) 非標準函數,應用 puts(str1) 或 printf("%s", str1)。
  • ruturn 0 拼寫錯誤,應為 return 0。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved