Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
パラメータ 15 を指定してプログラムを実行すると、atoi は 1 を返します。Atoi は最初の桁のみを返します。これは起こるはずですか?どうすれば回避できますか?
int _tmain(int argc, char* argv[]) { int a = atoi(argv[1]); }
_tmain から main に変更すると、問題が修正されました。
NUL で終わる文字列全体を変換する必要があります。
#include <iostream> #include <stdlib.h> int main() { std::cout << atoi("15"); }
結果:
15