1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
 
#include <stdio.h>
#include <stdlib.h>
 
int    charToInt(char ch)
{
    if(ch >= 48 && ch <= 57)    return ch - 48;
    else    return -1;
}
 
//char포인터 head를 연속된 수의 자릿수만크 옮기면서 수를 int형으로 반환
int charNumToIntNum(char** head)
{
    int digit, result = 0;
    int i, count = 0, returnValue = 0;
 
    digit = 1;
    do{
        result += digit * charToInt(**head);
        digit *= 10;
        *head += 1;
        count++;
    }while**head != '\t' && **head != '\n' );
    
    digit /= 10;    // digit의 자릿수는 result의 자릿수*10이다.
    for(i = 1; i <= count; i++){
        returnValue += (result % 10* digit;
        result /= 10;
        digit /= 10;
    }
    return returnValue;
}
 
int main(){
    char *charNum = "4153647\t";
    int ass = 10;
    printf("%p \n", charNum);
    printf("%d \n", charNumToIntNum(&charNum) + ass );
    printf("%p \n", charNum);
 
    
 
    return 0;
}
cs


문자열로 받은 정수를 int형 정수로 바꾸는 함수를 만들었어여


int형 정수를 반환하면서 넣은 문자열 포인터는 숫자 끝의 \\t 나 \\n을 가리키는 함수임. 

1    2    3    4    9    0

9    0    8

9

이런 형식의 파일을 입력하고 싶어서 만든 함수임

근데 함수를 만들어 놓고 보니 FILE의 _ptr을 매개변수char** head로 줘야 되더라구요

그런데 이런 짓 해도 되나요? fseek() 같은 함수 안 쓰고?