linuxÖÐC³ÌÐò³öÏÖSegmentation fault¡£¡£¡£
ÈçÌ⣺linuxÖÐC³ÌÐò³öÏÖSegmentation fault¡£
ʹÓÃCдÁËÒ»¸öCGI ¡¡
µ«ÊÇÔÚ±àÒëµÄʱÔÚ char *DATA = getenv("QUERY_STRING"); Óо¯¸æ£º
warning£ºassignment makes pointer from integer without a cast
²¿·ÖÔ´³ÌÐò£º
#include <stdio.h> // Ö»ÓÐÕâÒ»¸öÍ·Îļþ
char username[20]; // ·ÅÓû§Ãû
char password[20]; // ·ÅÃÜÂë
char *DATA = getenv("QUERY_STRING"); // È¡µÃCGIÊäÈ룬POST·½Ê½
if( DATA == NULL ){return 0;} // ¿´Ö¸ÕëÊÇ·ñÓÐЧ
sscanf(DATA, "username=%s&password=%d",&username,&password); // È¡³öusernameºÍpassword
ÔÙÍùÏÂÊDZȽÏ×Ö·û´«
¡¡¡¡¡¡
¡¡¡¡¡¡
¡¡¡¡¡¡
ÎÒÒѾÊÔ¹ý char *DATA =£¨char*£©getenv("QUERY_STRING");
±àÒëʱ²»ÏÔʾ¾¯¸æÁË£¬µ«ÊÇÔËÐÐʱ»¹»á Segmentation fault
Ò²ÊÔ¹ý sscanf(getenv("QUERY_STRING"),"username=%s&password=%d",&username,&password);
µ«ÊÇÒ²²»ÐÐ
Ó¦¸Ã²»ÊÇÀàÐÍת»»µÄÎÊÌ⣬
´ó¼Ò¿ìÀ´°ïÎÒ¿´¿´°¡¡¡
ллÀ²£¡£¡£¡
VPC2007ÖеÄRedHat9.0£¬ÄÚºË2.4.20-8
sscanf(DATA, "username=%s&password=%d",username,password);
ºÜÄÑ¿ØÖÆ£¬
sscanfÖ§³Ö ÕýÔò ±í´ïʽ.
Ïà¹ØÎÊ´ð£º
ÎÊÌâ:¹¤µØÉÏÐèÒª³¤¶ÈΪA1µÄ¸Ö½îX¸ù,³¤¶ÈΪA2µÄ¸Ö½îY¸ù,³¤¶ÈΪA3µÄ¸Ö½îZ¸ù......ÒÔ´ÎÀàÍÆ.
ÆäÖÐA1,A2,A3,...³¤¶ÈÈÎÒâÖ¸¶¨,X,Y,Z,...ÊýÁ¿Ò²ÈÎÒâÖ¸¶¨.
µ«²Ö¿âÖеĸֽîΪ±ê×¼³¤¶È,Ö»ÓÐ9Ã׺Í15Ã×Á½ÖÖ³¤¶È,ÊýÁ¿² ......
Óиöwinform³ÌÐò,ʹÓÃc#+mysql,ÐèÒªÔÚÒ»¸ö´°ÌåÉèÖÃmysql×Ô¶¯É¾³ý¹¦ÄÜ,°üÀ¨×Ô¶¯É¾³ý¶àÉÙÌì֮ǰµÄÊý¾ÝÒÔ¼°ÊÇ·ñ¿ªÆô×Ô¶¯É¾³ý¹¦ÄÜ,ÎÒ³ÌÐòÍ˳öºó,»¹Ôõô¿ØÖÆMysql×Ô¼ºÉ¾³ý°¡?ÊDz»ÊÇÒªÓÃmysqlµÄeventÀ´ÊµÏÖ?c#¿ÉÒÔµ÷ÓÃmysq ......
#include "stdio.h"
void main()
{
int *p;
int a[10]={0,1,2,3,4,5,6,7,8,9};
int k=0;
p=a;
for(int i=0;i<10;i++,p ......
Á½¸öÎļþ1.PC£¬1.inc
1.PCÓвÙ×÷oracleÊý¾Ý¿âµÄ ,1.incÒ²ÓвÙ×÷oracleÊý¾Ý¿â
ÔÚÆäËûÊý¾ÝÖÐÈçinformix ÖÐ$include 1.inc¾Í¿ÉÒÔʹÓÃÁË
ÔÚORACLEÊý¾Ý¿âÖØ $include 1.inc²»¿ÉÓà EXEC SQL include 1.incÒ²²»¿É ......
ÎÒÕâÀïÓÐÒ»¸öµÇ½WIFIÍøÂçµÄÒ³Ãæ¡£ÓÉÓÚWIFI¾³£¶ÏÏߣ¬ËùÒÔÒª·´¸´µØÔÚÕâ¸öÍøÒ³Éϵǽ£¬Ã»·¨ÎÞÈËÖµÊØ¡£
ËùÒÔ£¬ÎÒÏë×öÒ»¸öC#³ÌÐò£¬·ÅÒ»¸öwebbrowser¿Ø¼þ£¬×Ô¶¯Ìî±í²¢×Ô¶¯µã»÷Ìá½»°´Å¥¡£
ÎÊÌâÒ»£º
»ù±¾ÕÕÍøÉÏÕҵijÌÐò ......