Странное поведение атои в Visual Studio 2015 - PullRequest
0 голосов
/ 14 мая 2019

Не могу скопировать его в 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
  • против выхода: 15

Что? Зачем? Как мне это исправить.

...