자료형 pair를 배열 형태로 선언할 수 있는지 여부 & txt 파일 입력
조회수 553회
자표가 저장된 txt 파일을 입력 받아. 점을 pair 자료구조에 저장하고 싶습니다. 그런데 이 과정에서 실행 에러가 발생해서 질문 올려봐요 !!
#include<stdio.h>
#include<iostream>
#include<utility>
using namespace std;
int main()
{
FILE *sample;
pair<float, float> point[100];
char file_name[10];
int i;
printf("실행을 위해 불러들일 sample 파일 이름을 입력하세요.(txt까지 입력) : ");
scanf("%s", file_name);
sample = fopen(file_name, "r");
for (i = 0; ; i++)
{
if (fscanf(sample, "%f%f", &point[i].first, &point[i].second) != 2) break;
printf("%f %f \n", point[i].first, point[i].second);
}
fclose(sample);
return 0;
}
제가 그런데 visual studio에서 실행시키면 자꾸 오류가 나더라고요 ㅜㅠㅜㅠ
(1) 제 생각엔 문자열로 sample 파일의 이름을 입력받고, fopen함수를 쓸 때, 저렇게
fopen(file_name, "r");
로 써는 부분에서 어떤 문제가 있을 것 같아요....
(2) pair <float, float> point[100];
부분도 약간의 궁금점이 있습니다. 인터넷에서 찾아보니까 vector와 pair를 함께 쓰는 경우도 있던데, 저는 sorting을 할 게 아니라 이렇게 배열 형태로 써도 어떤 에러의 원인이 될지 모르겠네요...(저는 단순히 점을 입력받고 그 점을 전체 탐색할 예정입니다!) 아무리 찾아봐도 이렇게 pair를 배열로 쓴 코드는 본 적이 없어서 말예요 ㅜㅠ;
보통 프로그래머 분들은 점을 입력 받을 때, 어떤 방식으로 입력받으시나요???
(물론 float x[100], y[100]로 간단하게 코드를 짜는 방식도 있겠지만 저는 이번에 pair 자료형을 한번 써보고 싶어요 ㅎㅎ)
-
(•́ ✖ •̀)
알 수 없는 사용자
댓글 입력