[解決済み] C 言語で char 配列を int 数に変換する。
2022-03-03 12:16:24
質問
char array[]のように変換したい。
char myarray[4] = {'-','1','2','3'}; //where the - means it is negative
つまり、整数値である「-1234」となるはずです。 を使って 標準 のライブラリは C . 私はそれを行うためのエレガントな方法を見つけることができませんでした。
確かに'Ⅻ'は付けられますね。
どのように解決するのですか?
個人的に嫌いなのは
atoi
関数を使用します。私なら
sscanf
:
char myarray[5] = {'-', '1', '2', '3', '\0'};
int i;
sscanf(myarray, "%d", &i);
これは非常に標準的なもので、その中の
stdio.h
ライブラリ :)
そして私の意見では、これは
atoi
また、末尾に数字以外の文字を付けることも可能です。
EDIT
こんな素敵なものを見つけました
質問
このサイトでは、3種類の方法を比較しながら解説しています。
atoi
,
sscanf
と
strtol
. また、より詳細な洞察がなされています。
sscanf
(実際には
*scanf
関数)を使用します。
EDIT2
が嫌いなのは私だけではなさそうです。
atoi
関数を使用します。以下は
リンク
を説明する回答があります。
atoi
関数は非推奨であり、新しいコードでは使用しないでください。
関連
-
[解決済み】stdinとSTDIN_FILENOの違いは何ですか?
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] JavaScript で配列に値が含まれているかどうかを確認するにはどうすればよいですか?
-
[解決済み] 配列からArrayListを作成する
-
[解決済み] なぜパスワードにはStringではなくchar[]が好まれるのですか?
-
[解決済み] intをenumにキャストするにはどうすればよいですか?
-
[解決済み] JavaでStringをintに変換するにはどうしたらいいですか?
-
[解決済み] C++でintをstringに変換する最も簡単な方法
-
[解決済み] 1...N を含む配列の作成方法
-
[解決済み] 新しい配列を作成せずに、既存のJavaScript配列を別の配列で拡張する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Cコンパイルエラー。"変数サイズのオブジェクトが初期化されていない可能性がある"
-
[解決済み】C言語で「関数の型が競合しています」と表示される、なぜ?
-
[解決済み】警告:互換性のないポインタ型からの代入
-
[解決済み】"Expected expression before ' { ' token"(トークンの前に期待される式)。
-
[解決済み】MB/sとMiB/sを計算する方法は?
-
[解決済み】警告:組み込み関数'printf'の非互換な暗黙の宣言(デフォルトで有効]
-
[解決済み】LinuxのI_PUSHに相当するもの
-
[解決済み】なぜか。"エラー: 配列型を持つ式への代入"
-
[解決済み] '{'トークンの前に期待される式
-
[解決済み】Errno: 11, Resource Temporarily Unavailable(リソースが一時的に利用できない