str1 속에서 str2가 시작되는 인덱스 검색


#include <stdio.h>

#include <string.h>

int main (void){

char str1[] = "Hello World!";

char str2[] = "H";

printf("%d\n", strstr(str1, str2) - str1);

}



VB로 치자면 InStr함수


- 대소문자 구별 안하는 기능 추가 

- 임의의 위치부터 검색할 수 있는 기능 추가


Posted by Yann'
,

#include <stdio.h>

#include <string.h>

#include <stdlib.h>


char* rtrim(char *str)

{

char * result;

int len = strlen(str);

int i = len;

int end=0;

result = (char *)calloc(len,sizeof(char));

strcpy(result, str);


while(i>0)

{

if( result[--i] == ' ' || result[i] == '\n' || result[i] == '\t' ) continue;

end = ++i;

break;

}

result[end] = '\0';

return result;

}


int main (void){

char temp[] = "test    \n    test2    \t \n";

char* result;

printf("[%s]\n", temp);

result = rtrim(temp);

printf("[%s]\n", result);

return 0;

}

Posted by Yann'
,

strtok(str, tok); // 문자열 str을 tok으로 자르는 함수다.

처음 호출시 

strtok(str, tok);

를 호출 하고 이후에는

strtok(NULL, tok); 

를 남은 세그먼트 수만큼 호출하여 나머지 세그먼트를 분리한다.

더이상 반환할 문자열이 없으면

NULL을 반환


ex)-------------------

#include<string.h>

#include<stdio.h>

int main()

{

    char input[16] = "abc,d,e, fg";

    char *p;

    p = strtok(input, ",");


while(p){

printf("%s\n", p);

p = strtok(NULL, ",");

}

    return 0;

}

Posted by Yann'
,