私は以下のような文字配列を持っています、
char ch1_on[]="0123456789";
上記の変数の最後の 4 つの数値 (6789) を int 変数に取得する必要があります。どうすればできますか?
私は以下のような文字配列を持っています、
char ch1_on[]="0123456789";
上記の変数の最後の 4 つの数値 (6789) を int 変数に取得する必要があります。どうすればできますか?
必要な関数は、MikroC ライブラリの「memmove」です。
そのプロトタイプは次のように定義されています。void *memmove(void *to, void *from, int n);
wherevoid *to
は一時的な char 配列 (これは部分文字列 6789 を保持しvoid *from
ます)、 は char 配列ch1_on
とコピーする必要があるものの開始インデックス (この場合は +6 です。これは、文字をインデックス 6 から 9 にコピーするためです) およびint n
where 「n」はコピーする文字数です (この場合は 4、6、7、8、9)。
それに取り組むには、所有者を宣言するだけです:
char converted[] = "0000";
memmove を実行します。
memmove(converted, ch1_on + 6, 4);
最後にatoi
、部分文字列を整数に変換するために使用します。
result = atoi(converted);
結果は最終的な整数を保持します。
詳細については、MikroC のヘルプ セクションを参照し、ANSI C 文字列ライブラリ トピックで「memmove」を検索してください。