문자열을 잘라주는 함수
strtok( 문자열 , 구분자 )
strtok( NULL, 구분자 )
코드
#define _CRT_SECURE_NO_WARNINGS // strtok 보안문제 있음.
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "hello every 1";
char* ptr;
ptr = strtok(str, " ,.-");
while (*ptr != NULL) {
printf("%s \n", ptr);
ptr = strtok(NULL, " ,.-");
}
return 0;
}
atoi() : 문자형숫자를 숫자형으로
itoa() : 숫자형를 문자형숫자로 바꾸고싶으면
sprintf() : 숫자형을 문자형숫자로 바꾸고싶으면
코드
#define _CRT_SECURE_NO_WARNINGS // strtok 보안문제 있음.
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
typedef struct data {
char* s; //문자열공간
int num;
} DATA;
int main() {
DATA data;
char str[] = "hello 1";
char* ptr;
int num = 0;
int i = 0;
ptr = strtok(str, " ,.-");
while (*ptr != NULL) {
switch (i) {
case 0 :
data.s = ptr;
printf("%s \n", data.s);
break;
case 1 :
data.num = atoi(ptr);
printf("%d \n", data.num);
break;
}
ptr = strtok(NULL, " ,.-");
i++;
}
return 0;
}
typedef struct data {
char* s; //문자열공간
int num;
} DATA;
int main() {
DATA data;
char str[50];
char* ptr;
int num = 0;
int i = 0;
printf("문자열 숫자 : ");
gets(str);
ptr = strtok(str, " ,._-");
while (*ptr != NULL) {
switch (i) {
case 0 :
data.s = ptr;
printf("%s \n", data.s);
break;
case 1 :
data.num = atoi(ptr);
printf("%d \n", data.num);
break;
}
ptr = strtok(NULL, " ,.-");
i++;
}
return 0;
}