У меня есть случай, когда я набираю "1111:2222"
и "1111:"
или ":2222"
.
Когда это "1111:2222"
- я просто печатаю его.
Когда это"1111:"
- Мне нужно установить значение по умолчанию для b = 0
или для случая, когда оно равно :2222
для a = 0
.
Пожалуйста, как мне обработать этот случай?(У меня есть только один символ :
, я обработал это условие, не показывать его, потому что это не важно)
#include <string.h>
#include <stdio.h>
int main () {
char str[80] = "11111:";
const char s[2] = ":";
char *token;
int a = 0;
int b = 0;
/* get the first token */
token = strtok(str, s);
a = atoi(token);
printf( " %s\n", a );
/* get the second token */
token = strtok(NULL, s); // Here is seg.fault
if (token != NULL)
b = atoi(token);
else
b = 0;
printf( " %s\n", b );
return(0);
}