簡體   English   中英

使用 strcpy 將字符存儲在數組中

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM