비주얼스튜디오하고 DEV c++에서 문자열을 숫자로 바꾸는 문제
상처입은마음
input.dat에서 데이터를 입력받아서 처리하는 문제인데요
형식이
3 5
10 2
1 5
이렇게 한줄이 하나의 세트이고 각 세트마다의 결과를 출력해야됩니다.
한세트에서 입력받을 숫자는 2개이니 한줄에 2개의 숫자가 있어야 하구요. 그런데 한줄에 숫자가 하나밖에 없으면
무시해줘야 되기 때문에 scanf는 쓸수 가 없습니다. 그래서
------------------------------------------------------------------------------------------
#include stdio.h
#include stdlib.h
#include string.h
#include Windows.h
int main(void)
{
FILE* p;
int a,b,c;
char buffer[100];
char *tok;
p = fopen(input.txt,rt);
while(fgets(buffer,100,p)!=NULL){
tok=strtok(buffer, );
a=atoi(tok);
tok=strtok(NULL, );
b=atoi(tok);
printf(a = %d b = %d\n,a,b);}
Sleep(10000);
return 0;
}
------------------------------------------------------------------------------------------
을 이용해서 일단 a,b값이 잘 뽑히는지 해봤는데 잘 구해집니다. 한줄에 숫자가 하나밖에 없는경우에는 b에 0이 들어가기 때문에 해결도 됐구요.. 근데 문제는 이게 DEv c++에서는 아무 문제가 없는데 비주얼스튜디오로 컴파일하려니까 컴파일은 다 되늰데 실행후에 오류를 밷네요.
strtol.c에서 Expression :nptr!=NULL이라면서 atoi함수 쓸 때 strtol함수가 사용된다고 하는데 atoi함수 부분에서 문제가 생기는 것 같습니다.. 도와주세요