원하는 문자열 불러오는 방법이 있나요???
초코맛사탕
2023.04.01
sample.txt 라는 텍스트 파일에는
123 456 S656 789 라는 문자열이 있습니다. 각각은 공백을 기준으로 나뉘어 있지요.
struct test{
int a;
int b;
char c;
int d;
int e;
}TEST;
해당문자열을 위와같은구조체에 각각을 넣는 질문을 이전에 한적이 있습니다.
답변으로 아래와같은 방법을 제시해주셨고, 제시해주신 방법대로 잘 작성하였습니다.
FILE *fp;
fp = fopen(sample.txt,rt);
fscanf(fp, %d, TEST.a);
fscanf(fp, %c, TEST.b);
fscanf(fp, %d, TEST.c);
fscanf(fp, %d, TEST.d);
그런데 한가지 궁금한점이 생겼는데요.
만약제가 sample.txt 파일 123 456 S656 789 이 문자열에서 두번째와 네번째만 필요한다면 어찌해야할까요?
즉 456과 656만 필요하다는것이죠.
456과 656을 뽑아내기 위해서, 123 456 S 656 789를 모두 변수를 만들어 초기화해주고, 456,656을 뽑아낸다면 메모리낭비인듯 싶어서요.
struct test{
int a;
int b;
}TEST;
구조체를 위와같이 필요한 데이터 2개만 변수를 설정해주고,
결과값 = a : 456
b : 656
위와값이 sample.txt 문자열에서 원하는 부분만 뽑아내려면 어찌해야할까요??