私は暗証番号(PINの中のデータがあります)を一時的にコピーしようとしています。 (PINは常にtempより小さいと仮定します)文字列をコピーするときにこれは機能しますか?
また、ポインタをtempのように扱うと大丈夫でしょうか?
long int res = strtol (&temp, NULL, 10);
私は暗証番号(PINの中のデータがあります)を一時的にコピーしようとしています。 (PINは常にtempより小さいと仮定します)文字列をコピーするときにこれは機能しますか?
また、ポインタをtempのように扱うと大丈夫でしょうか?
long int res = strtol (&temp, NULL, 10);
いくつかのこと、
TEMP =「\ 0」 ウィル、実際に文字列に2つの\ 0を入れ、引用によって暗黙あなたが書いた1、および1。
PIN +は、アドレススペースの最後にヌルポインタを保証できる場合を除いて、逆参照する必要があります(*付き)。
ポインタではなく文字をコピーするには、代入文も参照解除する必要があります。
temp[i]=*(PIN+i);
i++; // Because the pointer needs to be incremented
また、なぜstrcpyを使用しないのですか?またはstrncpy?
"*(PIN + i)"または "PIN [i]"のように、PIN + 1ポインタを間接参照する必要があります。 "strcpy(temp、PIN);"というCライブラリ関数を使う方が簡単です。 –