Re: [問題] 雙重指標
看板C_and_CPP (C/C++)作者walm20 (New CygnusX)時間15年前 (2009/02/18 23:27)推噓2(2推 0噓 13→)留言15則, 3人參與討論串2/7 (看更多)
※ 引述《hardman1110 (硬漢)》之銘言:
: #include <stdio.h>
: #include <string.h>
: void input(FILE **pfp1, FILE **pfp2)
: {
: char string[20];
: printf("請輸入文章檔名:");
: gets(string);
: *pfp1 = fopen(string,"r");
: printf("輸入測試的字串:");
: gets(string);
: *pfp2 = fopen(string,"r");
: }
: void output(int count)
: {
: printf("出現了%d次\n",count);
: }
: int process(FILE *fp1, FILE *fp2)
: {
: int count=0;
: char st[20], word[20];
: fscanf(fp2,"%s",word);
: printf("Searching word=%s\n",word);
: while(fscanf(fp1,"%[^., ]",st)!=EOF)
: {
: if(strcmp(st,word)==0)
: {
: count++;
: }
: fscanf(fp1,"%[., ]",st);
: }
: return count;
: }
: void main(void)
: {
: FILE *fp1, *fp2;
: int count;
: input(&fp1, &fp2);
^^^^ ^^^^^
他想要對fp1跟fp2做input的引數
且傳入參數方法為call by address(pointer)
這裡如果懂得話
看input function裡面就應該懂了
: count=process(fp1, fp2);
: output(count);
: }
: --------------------------------------------------------------------
: 這個程式目的是在一篇文章中搜尋關鍵字,我想問的是為什麼在input裡要用
: **pfp1這種雙重指標? 在process裡開檔就好了不是嗎? 這樣做有什麼用意嗎?
--
我的露天拍賣:
http://tinyurl.com/6z4rw7
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.165.147.174
推
02/19 00:04, , 1F
02/19 00:04, 1F
→
02/19 00:05, , 2F
02/19 00:05, 2F
→
02/19 00:14, , 3F
02/19 00:14, 3F
→
02/19 00:14, , 4F
02/19 00:14, 4F
→
02/19 00:16, , 5F
02/19 00:16, 5F
推
02/19 00:16, , 6F
02/19 00:16, 6F
→
02/19 00:17, , 7F
02/19 00:17, 7F
→
02/19 00:18, , 8F
02/19 00:18, 8F
→
02/19 00:19, , 9F
02/19 00:19, 9F
→
02/19 00:19, , 10F
02/19 00:19, 10F
→
02/19 09:54, , 11F
02/19 09:54, 11F
→
02/19 09:55, , 12F
02/19 09:55, 12F
→
02/19 09:59, , 13F
02/19 09:59, 13F
→
02/19 10:00, , 14F
02/19 10:00, 14F
→
02/19 11:32, , 15F
02/19 11:32, 15F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章