C語言程式設計中的問題

2021-07-04 18:28:09 字數 872 閱讀 7883

1、使用指標形式的形參作為返回值時,無返回

char *strtrimr(char *pstr)

char *strtriml(char *pstr)

char *strtrim(char *pstr)

int get_string(const

char*key,char *string)

while(fgets(line, 100, fp))

fclose(fp);

return

0;}

在使用get_string獲取檔案裡的某個值時,並未返回該值。

我的解決辦法:

sprintf(string,"%s",strtrim(strchr(p,'=')=1);
另外,需要為實參string分配記憶體,如:

char *string = (char *)malloc(10);

...free(string);

2、使用stat()函式獲取檔案狀態資訊時,如大小,將得到非常大或非常小的值,可以利用某個狀態值判斷檔案是否存在。

3、strtok使用時的段錯誤

函式原型:

#include 

char *strtok(char *s, const

char *delim);

使用時,如果傳遞給引數s的是字元常量則執行時會出現segment fault(段錯誤)。

原因是,c程式執行時將字元常量儲存於唯讀區域,而strtok操作過程中會修改引數s的值,因此,產生錯誤。為了避免產生這種錯誤,程式設計時要保證傳給strtok函式s的值不是常量。比如,將字串字義為字元陣列。

C語言程式設計中的指標

微控制器程式設計中,涉及指標的地方很多,需要多看多練習多總結。練習一 include include include int main void 儲存4個32位無符號整數的陣列 unsigned short uint16 1 16位的無符號整數 unsigned char uint8 1 無符號的字...

趣味程式設計 過橋問題(C語言)

過橋問題。有n n 2 個人在晚上需要從x地到達y地,中間要過一座橋,過橋需要手電筒 而他們只有1個手電筒 每次最多兩個人一起過橋 否則橋會垮 n個人的過橋時間依次存入陣列t n 中,分別為 t 0 t 1 t n 1 過橋的速度以慢的人為準!注意 手電筒不能丟過橋!問題是 程式設計求這n個人過橋所...

程式語言 C 中的物件導向

最近終於學到了c 了,真的很高興啊!畢竟是要從面向過程跳到物件導向的時候了,雖然以前學過c 但是還是覺得自己的物件導向的思想很不做,希望通過對c 的學習能夠打下乙個堅實的基礎,然後在這個基礎上再學習其他新的物件導向語言就不是事兒了。一 介紹篇 c 是一種安全的 穩定的 簡單的 優雅的,由c和c 衍生...