0

私は以下のような文字配列を持っています、

char ch1_on[]="0123456789";

上記の変数の最後の 4 つの数値 (6789) を int 変数に取得する必要があります。どうすればできますか?

4

1 に答える 1

0

必要な関数は、MikroC ライブラリの「memmove」です。

そのプロトタイプは次のように定義されています。void *memmove(void *to, void *from, int n);

wherevoid *toは一時的な char 配列 (これは部分文字列 6789 を保持しvoid *fromます)、 は char 配列ch1_onとコピーする必要があるものの開始インデックス (この場合は +6 です。これは、文字をインデックス 6 から 9 にコピーするためです) およびint nwhere 「n」はコピーする文字数です (この場合は 4、6、7、8、9)。

それに取り組むには、所有者を宣言するだけです:

char converted[] = "0000";

memmove を実行します。

memmove(converted, ch1_on + 6, 4);

最後にatoi、部分文字列を整数に変換するために使用します。

result = atoi(converted);

結果は最終的な整数を保持します。

詳細については、MikroC のヘルプ セクションを参照し、ANSI C 文字列ライブラリ トピックで「memmove」を検索してください。

于 2016-01-24T01:42:09.653 に答える