私は文字列をcで学習しています。私はcode :: blocksをコンパイラとして使用していますが、それだけではありません。したがって、以下のコードの問題は、string2の出力が、格納された5文字+ string1の出力であることです。私はあなたを紹介します:Cで文字列をコピーする
#include <stdio.h>
#include <string.h> /* make strncpy() available */
int main()
{
char string1[]= "To be or not to be?";
char string2[6];
/* copy first 5 characters in string1 to string2 */
strncpy (string2, string1, 5);
printf("1st string: %s\n", string1);
printf("2nd string: %s\n", string2);
return 0;
}
出力は次のとおりです。
1st string contains: To be or not to be?
2nd string contains: To be To be or not to be?
あなたは私に言わせれば、それが5つの文字よりも多くの...
ありがとうございます。私が思う第二の選択肢は私の外ですが、私は最初のオプションをプログラムで適切に機能させることができました。とても有難い。 :)かわいい赤ちゃん、btw。 –
@Michael 2番目のオプションが優れています。基本的に文字列の最後の重要な文字の後に '\ 0'を追加します。ありがとう;) –