Skip to content

Latest commit

Β 

History

History
97 lines (70 loc) Β· 2.84 KB

File metadata and controls

97 lines (70 loc) Β· 2.84 KB

Cμ—μ„œμ˜ μ•ˆμ „ν•˜μ§€ μ•Šμ€ μ½”λ“œ


😒 ν™˜κ²½ λ³€μˆ˜ 정보 좜λ ₯ β†’ μ •μ˜λœ 문제 파일 λ…ΈμΆœ κ°€λŠ₯

μ•„λž˜ μ½”λ“œμ²˜λŸΌ ν™˜κ²½ λ³€μˆ˜μ˜ 정보λ₯Ό 좜λ ₯ν•˜λ©΄ κ³΅κ²©μžκ°€ ν™˜κ²½ λ³€μˆ˜μ— μ •μ˜λœ 문제 νŒŒμΌμ„ μ•Œ 수 μžˆλ‹€.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(int argc, char* argv[]) {
    char* path = getenv("MYPATH");
    fprintf(stderr, path);
    return 0;
}

μ•ˆμ „ν•œ μ½”λ“œ

였λ₯˜ 정보에 λŒ€ν•œ κ³΅κ°œλŠ” μ‚¬μš©μžκ°€ μœ μΆ”ν•  수 없도둝 μ΅œλŒ€ν•œ κ°„λ‹¨ν•˜κ²Œ μ‚¬μš©ν•˜λŠ” 것이 μ•ˆμ „ν•œλ‹€. μ•„λž˜ μ½”λ“œμ—μ„œλŠ” fprintf ꡬ문을 μ œκ±°ν•΄μ„œ 였λ₯˜ 정보λ₯Ό κ³΅κ°œν•˜μ§€ μ•Šλ„λ‘ ν–ˆλ‹€.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(int argc, char* argv[]) {
    char* path = getenv("MYPATH");
    return 0;
}

😒 λ°œμƒ μœ„μΉ˜ 정보 좜λ ₯ β†’ μ‹œμŠ€ν…œ ν™˜κ²½ 정보 λ…ΈμΆœ

λ°œμƒ μœ„μΉ˜μ— λŒ€ν•œ 정보와 μ„ΈλΆ€ λ‚΄μš©μ„ 좜λ ₯ν•˜λ©΄ κ³΅κ²©μžκ°€ μ‹œμŠ€ν…œ ν™˜κ²½μ— λŒ€ν•œ 정보λ₯Ό μˆ˜μ§‘ν•  수 있게 λœλ‹€.

public void ReadConfiguration() {
    char buffer[BUFFER_SIZE];
    FILE * fp = fopen("config.cfg", "r");
    
    if(fp == NULL) {
        printf("config.cfgλ₯Ό 찾을 수/μ—΄ 수 μ—†μŠ΅λ‹ˆλ‹€.");
        return;
    }
    
    if(fgets(buffer, BUFFER_SIZE, fp) == NULL) {
        printf("config.cfgμ—μ„œ option2λ₯Ό 읽을 수 μ—†μŠ΅λ‹ˆλ‹€.");
    }
    strlcpy(configuration.option2, buffer);
    
    if(fgets(buffer, BUFFER_SIZE, fp) == NULL) {
        printf("config.cfgμ—μ„œ option1을 읽을 수 μ—†μŠ΅λ‹ˆλ‹€.");
    }
    strlcpy(configuration.option1, buffer);
        
    if(fgets(buffer, BUFFER_SIZE, fp) == NULL) {
        printf("config.cfgμ—μ„œ option3을 읽을 수 μ—†μŠ΅λ‹ˆλ‹€.");
    }
    strlcpy(configuration.option3, buffer);
}

μœ„ μ½”λ“œλŠ” μ˜΅μ…˜μ— 따라 λ‚˜νƒ€λ‚˜λŠ” λ©”μ‹œμ§€κ°€ λ‹€λ₯΄κΈ° λ•Œλ¬Έμ— κ³΅κ²©μžκ°€ μœ μΆ” κ°€λŠ₯ν•˜λ‹€.

μ•ˆμ „ν•œ μ½”λ“œ

μ–΄λ– ν•œ μ’…λ₯˜μ˜ μ—λŸ¬κ°€ λ°œμƒν•˜λ“  κ³΅κ²©μžλŠ” ν•œ 가지 λ©”μ‹œμ§€λ°–μ— λ³Ό 수 μ—†κ²Œ λ˜μ–΄ μžˆλ‹€.

public int _ReadConfiguration(Configuration* configuration) {
    char buffer[BUFFER_SIZE];
    FILE* fp = fopen("config.cfg", "r");
    if(fp == NULL) { return False; }
    
    if(fgets(buffer, BUFFER_SIZE, fp) == NULL) { return FALSE; }
    strlcpy(configration->option1, buffer);
    
    if(fgets(buffer, BUFFER_SIZE, fp) == NULL) { return FALSE; }
    strlcpy(configration->option2, buffer);
    
    if(fgets(buffer, BUFFER_SIZE, fp) == NULL) { return FALSE; }
    strlcpy(configration->option3, buffer);
    
    return TRUE;
}

public void ReadConfiguration(Configuration* configuration) {
    if (_ReadConfiguration(configuration) == FALSE) { printf("ν™˜κ²½ 섀정에 μ‹€νŒ¨ν•˜μ˜€μŠ΅λ‹ˆλ‹€."); }
}