티스토리 뷰
728x90
공부하면서 작성한 코드 입니다. 배열과 포인트를 사용하였고, 문자 변경, 출력, argv를 사용한 연습용 코드입니다.
기본적인 설명은 여기서 제외하고 설명하고 코드에 관한 주석만 사용합니다. 그리고 gcc 컴파일러를 사용하였습니다.
gcc 컴파일할 때 명령어는 gcc -std=c99 파일명.c 를 사용하였습니다.
아래처럼 출력되게 하는 연습용 코드입니다.
소스코드 및 주석
#include "stdio.h" #include "string.h" #define SIZE 100 void replaceArr(char *str, char searchChar, char replaceChar); //char 값을 변경하는 함수 void print(char *str); //*포인트를 출력하는 함수 void printTwo(char **str, int argc); //**포인트를 출력하는 함수 void printSelect(char **str, int argc); //특정 문자를 출력하는 함수 int main(int argc, char *argv[]) { char *strPoint; //포인트 char 변수 char str[SIZE]; //100 SIZE를 가지는 char 변수 strPoint = "Good words cost nothing"; //char 포인트 변수에 값을 입력 //(그런데 이 방법은 문제가 있을 수 있음) //*strPoint = "Good words cost nothing"; strcpy(str, "Nature admits not a lie"); //strcpy를 통해 str배열에 string을 복사 print(strPoint); //*포인트를 출력 print(str); //배열을 출력 printTwo(argv, argc); //** 포인트를 출력 if(argc > 0 ) { //./a.out abcdef (argv를 통해서 넘어온 값이 없을 경우 str배열을 선택 argv[1] = str; argc = 1; //임의로 잡아준 값 } printSelect(argv, argc); //특정 문자를 출력하는 함수 replaceArr(str, 'a', 'u'); //a를 u로 변경 print(str); //replaceArr를 한 후 출력 return 0; } //문자를 변경 검색 Char, 변경할 char값 void replaceArr(char *str, char searchChar, char replaceChar) { for(int i = 0 ; i<strlen(str);i++) { //검색할 char값과, str 문자열의 한 글자가 동일할 경우 if(str[i] == searchChar) { str[i] = replaceChar; //str[i]의 값을 변경할 char 값으로 복사 } } } //* 포인트를 str 출력하는 함수 void print(char *str) { for(int i = 0; i<strlen(str);i++) { //한 단어 한단어를 출력 그냥 printf("%s", str)로 출력해도 동일 printf("%c", str[i]); } printf("\n"); } //** 포인트를 str 출력하는 함수 void printTwo(char **str, int argc) { for(int i = 0; i<argc;i++){ printf("%s\n", str[i]); } } //특정 문자 하나만 출력(argv로 받아온 값을 통한 출력을 함) void printSelect(char **str, int argc) { printf("Select char = %c, argc = %d\n", str[1][argc], argc); printf("%s\n", str[1]); }
마무리
간단한 문자열 포인터와 배열의 사용방법입니다. 기본적인 부분은 추가로 업로드하도록 하겠습니다.
'Programming language' 카테고리의 다른 글
python * 찍기 프로그램 (0) | 2012.04.14 |
---|---|
TH 문자열 치환 ver. 1.0 (0) | 2012.04.02 |
아주 기초적이지만 틀리기 쉬운 C 코드 (17) | 2012.03.28 |
ubuntu, mac python 사용하기 (0) | 2012.03.18 |
C++ 로 짠 키보드 타자 연습 프로그램 (6) | 2011.10.20 |
댓글
Blog is powered by
Tistory / Designed by
Tistory