使用功能的strstr我使用的strstr函數查找字符串1在字符串2和使用的sprintf所得分配給一個變量。但是,如果沒有找到匹配的字符串,那麼在爲變量分配一個空指針時會出現'Memory Fault(Core Dump)'錯誤。可以幫助我錯過了內存分配。 (注:?在HP C,但與Solaris GCC編譯器編譯時相同的代碼工作得很好存儲器故障(核心轉儲) - ,而在sprintf的
#include <stdio.h>
int main() {
char s1 [] = "My Car is Green";
char te [300];
sprintf(te,"%s",strstr (s1, "Car"));
printf("Result : %s\n",te);
te[0]='\0';
sprintf(te,"%s",strstr (s1, "Where"));
printf("Result : %s\n",te);
te[0]='\0';
}
Output:
Result : Car is Green
Memory fault(coredump)
請幫我在這
'的strstr(S1「在哪裏「)'返回'NULL'。不應期望printf打印出「NULL」。 – BLUEPIXY
而且要記住,NULL是不一樣的長度爲零的空結束的字符串...它之所以會在一個平臺上工作,而不是另一種是由於與非關聯NULL相關的「未定義行爲」。 – bazza
你預計在那一行發生了什麼? –