Visual Studio 2015中Atoi的奇怪行为

时间:2019-05-14 00:43:43

标签: visual-studio-2015 atoi

无法在gcc中复制它,不明白为什么会发生这种情况。

#include <stdio.h>      /* printf, fgets */
#include <stdlib.h>     /* atoi */
#include <string>
#include <iostream>

int main(){
    std::string temp2 = "this 021 text";
    char* temp = &temp2[0];
    for (int i = 0; i < temp2.size();i++) {
        if (temp[i] == ' ') {
        temp[i] = 0; //Turn into null terminator for end of string.
    }
}
char* temp1 = &temp[5];
size_t t = atoi(temp1);
std::cout << t << std::endl;
return 0;
  • gcc输出:21
  • vs输出:15

什么?为什么?我该如何解决。

0 个答案:

没有答案