No.1
- 回答日時:
atol
strtol
この回答への補足
早速の回答有難う御座います。
自分でも色々調べた結果
atoi,atol
を使うのではないか?というところまでは辿り付いたのですが、戻り値が"0"NULLに成ってしまい。
取得したい数値とは異なってしまいます。
テストプログラム
#include <stdio.h>
#include <stdlib.h>
void main()
{
char kazu[]="8";
int kazu2;
kazu2 = atol(kazu);
printf("%d\n",kazu2);
}
早速の回答有難う御座います。
atoiで検索を掛けたところwiki等では
やはりテストプログラムの結果同様
全角数字を入れるとNULLが戻り値と成るようです。
後他に必要な処理が必要な場合何が必要なのでしょうか?
自分でも引き続き探してみます。
宜しくお願い致します。
No.2
- 回答日時:
# 全角がShift-JISならば ・・・
char wnum[] = "0123456789";
char anum[] = "0123456789";
char kazu[] = "8";
int kazu2 = -1;
char *pPos = strstr( wnum, kazu );
if ( pPos != NULL ) {
int nIndex = (int)( pPos - wnum ) / 2;
char buf[20] = {0};
strcpy( buf, &anum[nIndex], 1 );
kazu2 = atoi( buf );
}
といった具合です
# 適切なヘッダーをインクリュードしてください
この回答への補足
回答有難う御座います。
只今ヘッダをつけてインクルードしてみた結果
ビルドでいくつかエラーが発生してしまいましたので
修正をしながら色々試しています。
C言語初心者なので、redfox63が書いてくださったプログラムを読み取ることが出来ず苦戦しています。
もう少し粘って見ますので、解決いたしましたらまた改めて御礼を述べさせていただきたいと思います。
No.4ベストアンサー
- 回答日時:
★アドバイス
・マイクロソフト社製のコンパイラなら全角文字コードから半角文字コードへの
変換関数があります。→_mbctombb()昔はzentohan()という名前でした。懐かしい。
http://msdn.microsoft.com/ja-jp/library/ms350177 …→『_mbctombb』
これを使えば数字以外にも英字、記号も対応する半角文字に変換できます。
サンプル:
#include <stdio.h>
#include <mbstring.h>
// メイン関数
int main( void )
{
unsigned char kazu[] = "1234567890";
unsigned char *p;
unsigned int moji;
for ( p = kazu ; *p != '\0' ; p += 2 ){
moji = (p[0] << 8) | p[1];
moji = _mbctombb( moji );
printf( "%c%c→%c\n", p[0], p[1], moji );
}
return 0;
}
または
unsigned char kazu[] = "8";
unsigned int moji;
moji = _mbctombb( (kazu[0] << 8) | kazu[1] );
printf( "%s→%c\n", kazu, moji );
※マイクロソフト社製以外のコンパイラや移植性も考えるならご自分で
全角文字→半角文字の変換するルーチンを書いて下さい。仕組みは
既にredfox63さんが回答しています。なお、いろいろな方法があります。
参考URL:http://msdn.microsoft.com/ja-jp/library/ms350177 …
回答有難う御座います。
mbctombbも初めて見た関数です。
自分ではこの関数までたどり着くことが出来ませんでした。
大変参考になり、問題解決いたしました。
どうも有難う御座いました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) WordやExcelで英数字のみ半角または全角にしたい 6 2022/08/03 08:18
- デスクトップパソコン 40年間の悩み キーボードにおいて初期値として漢字ローマ字変換に設定する方法 8 2023/05/08 14:50
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- Access(アクセス) Accessのテキストボックスの入力文字制限 1 2023/01/18 20:43
- Excel(エクセル) エクセルシート中の全角英数字を半角に変換したい 4 2022/07/07 13:14
- Excel(エクセル) capeofdragonと申します Excel2016を使っておりまして 半角又は全角の任意文字列が 2 2022/10/31 13:51
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- Visual Basic(VBA) エクセルの数式で教えてください。 1 2023/07/31 15:49
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/02 10:20
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
【C言語】全角文字の配列を、全角のまま1文字ずつ出力する方法
C言語・C++・C#
-
画面を強制的に再描画させる方法
C言語・C++・C#
-
CStringからchar*への型変換について教えてください。
C言語・C++・C#
-
-
4
switch()文で値の大小比較
PHP
-
5
char AA[]{全角文字"};から"全"という一字を取り出したい"
C言語・C++・C#
-
6
CString型 全角半角を意識せずに「1文字」ずつ取り出す
C言語・C++・C#
-
7
エディットボックスの入力制限について
C言語・C++・C#
-
8
C言語で全角文字を扱いたいのですが、
C言語・C++・C#
-
9
switch の範囲指定
C言語・C++・C#
-
10
全角英数字のみ半角英数字にするには。
C言語・C++・C#
-
11
DateTimePickerでに年月までしか選択できないようにしたいです。
Visual Basic(VBA)
-
12
C++で入力した文字列から数字を取り除くもしくは数字のみをのこす
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
英数字のみ全角から半角に変換
-
VBA 文字に半角が含まれて...
-
エクセルにMicrosoft Barcode C...
-
Accessでのグループ化で全角・...
-
IEからEdgeへの移行に伴うIMEの...
-
COBOL・全角判定
-
VBで、String型のデータが、...
-
C言語のコンパイルエラーなん...
-
ダブルコーテーションの置換
-
プログラミングでは、半角括弧...
-
全角英数字の必要性が理解できない
-
Word2007の全角文字、全角スペ...
-
VBA Shift-JISをJISに変換する...
-
コマンドプロンプト 全角を含ん...
-
Accessで日付や数値を全角で表...
-
全角→半角変換 C UNIX
-
メモ帳の段落の揃え方
-
住宅にカナを入力する際に丁目...
-
Excel VBAでオートシェイプ内の...
-
VB.net、テキストボックス入力...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
英数字のみ全角から半角に変換
-
住宅にカナを入力する際に丁目...
-
エクセルにMicrosoft Barcode C...
-
プログラミングでは、半角括弧...
-
IEからEdgeへの移行に伴うIMEの...
-
全角英数字の必要性が理解できない
-
VBA 文字に半角が含まれて...
-
Accessのテキストボックスの入...
-
word差し込み印刷 半角カタカ...
-
COBOL・全角判定
-
全角入力
-
VB.net、テキストボックス入力...
-
COBOLでの全角文字の判定をした...
-
CString Format にて全角空白文...
-
メモ帳の段落の揃え方
-
ダブルコーテーションの置換
-
正規表現で、全角文字を半角文...
-
VBで、String型のデータが、...
-
よくアカウント等に使われる 半...
-
エクセルでの”々”の扱い
おすすめ情報