[英]Storing char in array with strcpy
char strr[10];
strcpy(strr, argv[1]);
這適用於存儲整個參數,但是如果我想存儲第一個參數中的某個字符,我該如何使用相同的技術。
strcpy(strr, argv[1][1]);
這當然行不通,因為它是一個字符,所以我想知道我還能怎么做
編輯:我剛剛使用 char strr[10]; 作為 char 數組的示例。 請不要注意它的大小。
您不能使用strcpy
將 char 存儲在數組中。 strcpy
用於字符串 - 不是字符。
但你可以用另一種方式做到這一點。
這很簡單:
char strr[2] = { 0 }; // Make strr a string that can hold 1 char and a
// string termination. Initialize to zero.
strr[0] = argv[1][1]; // Copy the second char of the string pointed to by
// argv[1] to the first char of strr
現在, sttr
是一個只包含一個字符的字符串(以及強制字符串終止)。
除此代碼外,您還需要確保argv[1]
有效且argv[1][1]
有效。
就像是:
char strr[2] = { 0 }; // Make strr a string that can hold 1 char and a
// string termination. Initialize to zero.
if (argc > 1 && strlen(argv[1]) > 1)
{
strr[0] = argv[1][1]; // Copy the second char of the string pointed to by
// argv[1] to the first char of strr
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.