티스토리 뷰
공부하면서 작성한 코드 입니다. 배열과 포인트를 사용하였고, 문자 변경, 출력, 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