이거 잘못된 건가여?(C 관련) 채택완료
void db_connect(void)< br>
{< br>
char hostname, userid, passwd, dbname;< br>
< br>
&hostname="localhost"; : invalid lvalue in assignment(에러) < br>
&userid="ggamter"; : invalid lvalue in assignment(에러)< br>
&passwd="3693690"; : invalid lvalue in assignment(에러)< br>
&dbname="ggamter"; : invalid lvalue in assignment(에러)< br>
< br>
if (!mysql_connect(&mysql, &hostname, &userid, &passwd));< br>
< br>
//if (!mysql_connect(&mysql,"localhost","ggamter" , "3693690")); < br>
<==원본입니다. 위의 변수정의를 사용하지 않고 바로 입력하면 잘되거덩요..< br>
< br>
//데이타베이스 접속 <br>
if (mysql_select_db(&mysql, &dbname));< br>
< br>
}
답변 1개
C에서는 그런식으로 프로그램밍 하면 안됩니다. <br><br />
문자열은 C에서는 단순한 char형 배열이거든요. <br><br />
char 배열과 포인터에 대해 좀더 공부하셔야 될 듯 <br><br />
&nbsp;<br><br />
아래와 같이 수정하세용... <br><br />
&nbsp;<br><br />
해기님의 글 <br><br />
------------------------------------ <br><br />
#define MAX_STR&nbsp; 100 <br><br />
void db_connect(void) <br><br />
{ <br><br />
char hostname[MAX_STR], userid[MAX_STR], passwd[MAX_STR], dbname[MAX_STR]; <br><br />
&nbsp;<br><br />
strcpy(hostname, "localhost"); <br><br />
strcpy(userid, "ggamter"); <br><br />
strcpy(passwd, "3693690"); <br><br />
strcpy(dbname, "ggamter"); <br><br />
&nbsp;<br><br />
if (!mysql_connect(&mysql, hostname, userid, passwd)); <br><br />
&nbsp;<br><br />
&nbsp; //데이타베이스 접속 <br><br />
if (mysql_select_db(&mysql, dbname)); <br><br />
&nbsp;<br><br />
} <br><br />
------------------------------------ <br>
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인