C語言通過.h標頭檔案引入自己寫的源程式
通過.h引入自定義函式
1.在get_line.h檔案中宣告並定義函式,如下:
#include <stdio.h>
#define MAXLEN 1000
int m_getline(char line[]){
/* 輸入字串,返回陣列長度 */
int c,i;
for (i = 0; i < MAXLEN && (c = getchar()) != EOF; ++i)
{
line[i] = c;
}
line[i] = '\0';
return i;
}
- 在另一個檔案如p_1_18.c中,通過#include引入
#include <stdio.h>
#include "get_line.h"
#define MAXLEN 1000
/* 練習1-18 刪除行末尾的空格及製表符,並刪除空格行 */
int get_line_no_space(char line[], int len){
int i;
for (i = len-1; i >= 0; --i)
{
if (line[i] != '\t' && line[i] != ' ')
{
line[i] = '\0';
break;
}
}
if( i <= 0)
printf("delete space line \n");
return i; /* 返回剩餘長度 */
}
void main(){
char line[MAXLEN];
int len;
len = m_getline(line);
get_line_no_space(line,len);
printf("%s\n", line);
}
- 然後編譯執行p_1_18.c即可。通過#include引入,其實是將 被引入檔案內容,新增到當前源程式中
之前,想通過將 函式宣告放在xx.h中,內容如下:
#ifndef GET_LINE_H
#define GET_LINE_H
int m_getline(char line[]);
#endif
然後在同資料夾下建立同名xx.c檔案,在其中實現該函式:
#include <stdio.h>
#define MAXLEN 1000
int m_getline(char line[]){
/* 輸入字串,返回陣列長度 */
int c,i;
for (i = 0; i < MAXLEN && (c = getchar()) != EOF; ++i)
{
line[i] = c;
}
line[i] = '\0';
return i;
}
最後如上一樣在p_1_18.c中 #include “get_line.h”,呼叫m_getline函式,卻無法通過編譯:無法找到對m_getline的引用。不知道這個問題怎麼解決,如有知道的博友,請不吝賜教。
相關文章
- C語言 - 標頭檔案包含C語言
- C語言關於標頭檔案的使用C語言
- C 語言標頭檔案作用的簡單理解
- C++ include標頭檔案引入規則C++
- C語言標頭檔案到底是什麼?C語言
- C 語言專案中標頭檔案包含的最佳實踐
- C語言-檔案讀寫C語言
- C語言標頭檔案組織與包含原則C語言
- 小白求助:不使用math.h標頭檔案,用c語言求三角函式怎麼寫啊C語言函式
- 02@在類的標頭檔案中儘量少引入其他標頭檔案
- C語言中的標頭檔案中的巨集定義C語言
- 關於C++的標頭檔案C++
- string.h標頭檔案(字串函式)字串函式
- C/C++標頭檔案一覽C++
- C/C++標頭檔案太難記?一個萬能標頭檔案全搞定!C++
- c++筆記_標頭檔案C++筆記
- Effective Objective-C 2.0讀書筆記(一)-如何減少標頭檔案的引入Object筆記
- 教你在 C 語言上編寫自己的協程
- mac CLion cmake 呼叫自己定義的標頭檔案Mac
- 進一步學習WDK驅動程式的SOURCES檔案、WMI驅動程式的mof檔案和wmidata.h標頭檔案
- 通訊錄的c語言程式編輯C語言
- C語言實現檔案加密C語言加密
- 用c語言處理檔案C語言
- c語言多檔案編譯C語言編譯
- C語言讀取寫入CSV檔案 [一]基礎篇C語言
- C語言之標準檔案操作C語言
- C語言判斷檔案存在和建立檔案C語言
- C++標準庫名字和標頭檔案--表C++
- 8.13 標頭檔案剖析:標頭檔案路徑(下)
- macos新增c++萬能標頭檔案MacC++
- 如何組織構建多檔案 C 語言程式(二)
- 如何組織構建多檔案 C 語言程式(一)
- 報錯:Qt 開啟專案找不到Qt自己的標頭檔案QT
- C語言指標C語言指標
- C語言判斷檔案是否存在,判斷檔案可讀可寫可執行C語言
- vscode 自定義c++標頭檔案,編譯過程中遇到的問題VSCodeC++編譯
- Dart 語言標準流與檔案操作Dart
- 自己用C語言寫的一個模擬退火演算法C語言演算法