Преобразуйте единственный символ в интервал

Для парсинга даты посмотрите Дата:: Синтаксический анализ в CPAN.

9
задан James Reinstate Monica Polk 1 December 2018 в 20:01
поделиться

3 ответа

Вместо этого вам нужно сделать:

int temp2 = temp - '0';

.

25
ответ дан 4 December 2019 в 08:15
поделиться

Версия atoi () не работает, потому что atoi () работает со строками, а не с отдельными символами. Так что это сработает:

char a[] = "4";
b[0] = atoi(a);

Обратите внимание, что у вас может возникнуть соблазн сделать: атой (& темп) но это не сработает, поскольку & temp не указывает на строку с завершающим нулем.

1
ответ дан 4 December 2019 в 08:15
поделиться

Вы можете заменить всю последовательность:

char a[] = "4x^0";
int *b;
b = new int[10];
char temp = a[0]; 
int temp2 = temp - 0;
b[0] = temp2;

на более простую:

char a[] = "4x^0";
int b = new int[10];
b[0] = a[0] - '0';

Нет необходимости возиться с временными переменными. Причина, по которой вам нужно использовать '0' вместо 0 , заключается в том, что первый является символом '0', который имеет значение 48, а не значение 0.

0
ответ дан 4 December 2019 в 08:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: