문자열 비교시...
글쓴이: tkfkdgody / 작성시간: 화, 2008/05/27 - 7:43오후
안녕하세요..
문자열을 비교하다가 뒤에 나오는 공백문자때문에 비교를 할 수 없어서 글 올립니다.
디비에서 하나의 열을 받아오는데요
디비에 저장된값은 "abc"라는 값인데 디비에 char(20)으로 잡혀있어서 그 뒤의 글자는 공백문자가 오네요
이렇게 리턴됩니다. >>> "abc "
공백문자가 없어야 제가 원하는 문자열과 비교하는데...
공백문자를 없애기 위해서 생각한건 배열하나하나 아스키코드값으로 비교해서
그 공백문자가 2개연속해서 나오면 그 전 문자열만 메모리카피하는건데.. 너무 조잡해보이네요..
혹시 공백문자를 제거하는 함수가 있을까요? 아니면 디비에서 리턴 받을 때 PQgetvalue로 받는데요
공백문자를 제거할 수 있는 방법이 있을까요? 그도 아니면 다른 방법이?
조언 부탁드리겠습니다..
Forums:


DB에 공백이 하나 더
DB에 공백이 하나 더 들어가서 저장된 것인지? 아니면 DB상에는 공백이 없는데 받아올 때 공백이 하나 더 들어가는지 먼저 확인을 하심이...
세벌 https://sebuls.blogspot.kr/
abc 받고
abc 받고 싶은데
자료형이 20개짜리라서 20개 'abc '이렇게 온다는 말 같군요..
흠....
연속된 문자열만 받는 거라면
공백문자 검색을 넣는것도 좋겠군요.
잘 모르지만 yacc, lex <== 이런것도 space padding 관련해서 사용한다더군요,,
laziness, impatience, hubris
不恥下問 - 진정으로 대화를 원하면 겸손하게 모르는 것은 모른다고 말하는 용기가 필요하다.
laziness, impatience, hubris
不恥下問 - 진정으로 대화를 원하면 겸손하게 모르는 것은 모른다고 말하는 용기가 필요하다.
char 컬럼이라면 사이즈가 고정되어 있으니
뒤에서부터 읽어서 처음으로 나오는 공백 아닌 문자까지만 취급하면 되겠군요
i = 20; while (i > 0) { if (str[--i] != ' ') break; } str[i+1] = '\0';아니면, 비교를 원하는 문자열의 길이를 알고 계실테니,
strncmp 를 사용하셔도 간단하겠네요.
http://www.postgresql.org/doc
http://www.postgresql.org/docs/7.1/static/functions-string.html
query에 trim을 써도 그렇게 들어오나요?
답변 및 좋은 방향
답변 및 좋은 방향 제시 해주셔서 감사합니다..
일단 간단한 방식으로; 해결했습니다..
다시 한번 감사드립니다..
댓글 달기