MySQLデータベースのデータにアクセスするためにcおよびc++言語を使用するプログラムがあります。コード:
const char *query="SELECT * FROM myTable;";
printf("%s\n",query);
state=mysql_query(sock,query);
printf("%s\n",query);
そのコードから、'state'ステートメントの前後のクエリ値は同じです(SELECT * FROM myTable;)。しかし、このコードの場合:
const char *query=getQuery();
printf("%s\n",query);
state=mysql_query(sock,query);
printf("%s\n",query);
関数:
const char * getQuery(){
 const char *returnValue;
 char q[BUFSIZ];
 sprintf_s(q,"%s","SELECT * FROM myTable;");
 returnValue=q;
 return returnValue;
}
このコードから、 "state"ステートメントの前後のクエリ値は同じではありません。before(SELECT * FROM myTable;)とafter(1/4> -uC ^ M)です。
誰か知ってる?
前もって感謝します。