C에서 String 대신 char[]을 입출력 파라미터로 선언하는 방법

조회수 1047회

안녕하세요

제대하고 C, C++은 안써서 다까먹어버려서 고통받는 복학생입니다.

치환 암호 코드를 C로 짜오라는 과제를 받았는데요, Java면 그나마 알바하면서 좀 써봐서 괜찮았을텐데 교수님께서 C로 해오라고 하셔서 고통스럽네요.

C에서 클래스를 못쓰고 String도 못쓰니까 너무 힘든데, char[]를 Java의 String처럼 다루려니 문법 오류가 많더라구요. 혹시 함수의 입력/출력 파라미터값으로 char[]를 쓰거나 대체할 수 있는 방법이 있을까요?

 

아무것도 안되어 있는 상태지만 혹시나 해서 코드 올립니다.

#include <stdio.h>

char[] enterKeyValue(void){
    char key[]; // 키테이블 선언

    printf("Enter key values. Numbers, space, and special letters are not allowed.\n"); // 숫자나 공백, 특수문자가 들어오면 다시 입력하라고 만들고 싶은 의지

    printf("ABCDEFGHIJKLMNOPQRSTUVWXYZ \n");
    printf("|||||||||||||||||||||||||| \n");
    printf("vvvvvvvvvvvvvvvvvvvvvvvvvv \n");
    scanf_s("%s \n", &key, sizeof(key));

    return key;
}
char[] enc(char[] 키테이블, char[] 암호화시킬문장){
    // 암호화
    return 암호화시킨문장;
}
char[] dec(char[] 키테이블, char[] 복호화시킬문장){
    // 복호화
    return 복호화시킨문장;
}
char[] keyCheck(char testValid[]){
    // key값이 딱 26자리가 맞는지 확인
    // key값에 숫자, 공백, 특수문자가 있는지 확인
    // key값 중 중복된 값이 있는지 확인
    // key값에 있는 알파벳 모두 일단 대문자로 바꿈
    return 올바른키;
}

int main(){
    char key[]; // 키테이블 선언
    int doFunction = 1; // C는 왜 불리안이 없는지 불만이지만 일단 임시로 만든 임시불리안 변수

    while(doFunction == 1){
        key = enterKeyValue();
        key = keyCheck(key);

        // 암호화 할지 복호화 할지
        enc(); // 암호화
        dec(); // 복호화

        // 또 할지
        if (다시 하면) continue;
        else doFunction = 0;
    }

    return 0;
}

1 답변

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)