C 문법
글쓴이: dotri / 작성시간: 목, 2005/04/21 - 11:07오전
문자열 버퍼 내에서 첫번째 공백까지의 길이를 알아내서 메모리를 할당하고 복사하기 위해 다음과 같은 코드를 썼습니다.
VersionNode->filename = (char *)malloc( (strstr( TempString, " " ) - TempString) + 1 );
TempString 에서 첫번째 공백의 위치를 strstr() 로 찾은 후, 그 위치에서 TempString 의 시작주소를 빼서 길이를 구할 수 있을거라 생각했습니다.
gcc 에서 에러 나네요. 연산자 - 가 잘못됐다고 나옵니다. 어떤 문제인지 잘 모르겠습니다.
Forums:
TempString은 어떻게 선언하셨나요?그리고 strstr()이 N
TempString은 어떻게 선언하셨나요?
그리고 strstr()이 NULL을 반환할 때도 대비하셔야겠는데요.
전체 소스와 에러 메세지, 컴파일 환경을 올려주세요.일단은 제가 확인
전체 소스와 에러 메세지, 컴파일 환경을 올려주세요.
일단은 제가 확인 해본 결과는 별다른 문제는 없군요.
<어떠한 역경에도 굴하지 않는 '하양 지훈'>
#include <com.h> <C2H5OH.h> <woman.h>
do { if (com) hacking(); if (money) drinking(); if (women) loving(); } while (1);
...
TempString 은 이렇습니다.
char TempString[512] = { 0, }; fgets( TempString, 512, fp );
그리고 fgets() 함수에서 몇가지 예외 처리를 해주고 있기 때문에, strstr() 이 NULL 을 리턴하는 상황은 없다고 보고 있습니다.
전체 소스와 에러코드입니다.
레드햇 7.3 발할라, gcc 2.96 입니다.
혹시 <string.h>를 #include 했는지 확인해 보셨
혹시 <string.h>를 #include 했는지 확인해 보셨나요?
Re: 전체 소스와 에러코드입니다.
님 코드 가져다가 MinGW 에서 컴파일해봤는데 걍 컴파일 되는데요.
그리고,
이건 뭐하는건가요? 전혀 이해가 가지 않는 코드인데.
개념없는 초딩들은 좋은 말로 할때 DC나 웃대가서 놀아라. 응?
댓글 달기