すいません 初心者なものでこんな質問します・・
【例】
char型の変数に101という文字列を入れたとします。
これに、左側を0詰めして、10桁に変換する方法を教えてください。
お願いいたします。
【変換イメージ】
101→0000000101
その前に。
char型の変数に101は入りません。101なら入ります。
文字列と数値の違いなのですが、理解してます?
はい、ちょっと書き方に語弊があったようです。。すいません。。
こんなんでどうでしょうか?
char b1[12]=101 ;
int i = atoi(b1) ; //#include <stdlib> が必要
sprintf(b1,%010d,i) ;
まきーさんは文字列とおっしゃっているので
文字列としての処理のほうが良いと思います。
#include <string.h> // 必要
char src[12]=101 ;
char dst[12];
int i;
i = strlen(src) ;
if( i > 10) return;
memset( dst, '0', sizeof(dst) );
memcpy( &dst[10-i], src, i);
dst[10] = NULL;
こんなのでどう
#include <iostream>
#include <iomanip>
#include <sstream>
#include <string>
int main() {
std::ostringstream stream;
stream << std::setfill('0') // '0'で埋めた
<< std::setw(10) // 10桁で
<< 101; // 101 を書けば
std::string result = stream.str(); // できあがり
std::cout << '[' << result << ']' << std::endl;
return 0;
}
SunPacさん、ダイザさん、アイススケーターさん、επιστημηさん
ご回答ありがとうございました。
無事解決することが出来ました^^。
'無事解決することが出来ました' だけじゃなくて、
どうしたか/なぜそうしたかを教えていただきたいものです。
>'無事解決することが出来ました' だけじゃなくて、
>どうしたか/なぜそうしたかを教えていただきたいものです。
読む価値のないレスをするだけじゃなくて、
他人との会話における言葉遣いを最低限 嗜んで頂きたいものです。