ホームページ  >  記事  >  バックエンド開発  >  C 文字列を文字配列に変換するにはどうすればよいですか?

C 文字列を文字配列に変換するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-10 06:36:02598ブラウズ

How to Convert a C   String to a Character Array?

C で文字列を文字配列に変換する

C で文字列を操作する場合、文字列を文字配列に変換するシナリオが発生することがあります。必要です。ただし、文字ポインター (char*) への変換とは異なり、固定サイズの文字配列 (char[]) に直接変換することを目的としています。

この変換を実現するには、次の方法を検討してください。

方法 1: strcpy と c_str() を使用する

string temp = "cat";
char tab2[1024];
strcpy(tab2, temp.c_str());

このメソッドは、strcpy 関数を利用して文字列を文字配列にコピーします。 c_str() は、文字列を null で終わる文字配列に変換します。

方法 2: strncpy と c_str() を使用する

安全性を高めるために、strncpy を使用して次のことを行うことができます。バッファ オーバーフローが発生しないようにします。

string temp = "cat";
char tab2[1024];
strncpy(tab2, temp.c_str(), sizeof(tab2));
tab2[sizeof(tab2) - 1] = 0;

strncpy は、指定された数の文字を配列にコピーし、最後の文字を null に設定します。

方法 3: New と c_str( )

string temp = "cat";
char *tab2 = new char [temp.length()+1];
strcpy(tab2, temp.c_str());

このメソッドは、文字配列にメモリを動的に割り当て、コピーに strcpy を使用します。

以上がC 文字列を文字配列に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。