-6

私は「n」桁の数字を持っています。同じものの最初の n - 1 桁を出力する必要があります。私の知る限り、これは基本的に 10 による除算です。ただし、これは算術演算子を使用せずに行う必要があります。ctypeでいくつかの変換を使用してみましたが、数値の正確な長さ、つまり no. 桁数がわからないため、同じものを使用できません。

すなわち

convert int to string, say 12345 to string

set the last position of it to '\0', in my case last position is not known

//i.e. 1, 2, 3, 4, '\0', assuming string size is 5

convert it back to int.// 1234

これに利用できる微調整、またはまったく異なるものはありますか?

4

1 に答える 1

2

sprintf()int を文字列に変換するために使用します。char buffer[SOMESIZE];に渡すには が必要ですsprintf。これで、操作できる文字列ができました。strlen()その長さを教えてくれます [1]。残りは、あなたが概説したものに従う必要があります。

ビットを組み立てる方法を正確に理解させます。

sprintf[1]実際には、文字列で生成された文字数を返すため、からの戻り値を長さとして使用できます。

于 2013-03-02T10:48:58.947 に答える