我正在嘗試從K&R書(shū)中理解Example 1.9,但是我不知道如何發(fā)送EOF。一些消息來(lái)源提到Ctr + Z,但這只是終止程序。我設(shè)法以Enter和Ctrl + Z以及Ctrl + V的組合發(fā)送了EOF,但是我無(wú)法重現(xiàn)它。#include <stdio.h>#define MAXLINE 1000main(){ int len; int max; char line[MAXLINE]; char save[MAXLINE]; max = 0; while((len = getline_my(line, MAXLINE)) > 0) if(len > max) { max = len; copy(line, save); } if(max > 0) printf("%s", save);}getline_my(s, lim)char s[];int lim;{ int c, i; for(i=0; i < lim-1 && (c = getchar()) != EOF && c != '\n'; i++)// As long as the condition is fulfilled s[i] = c; if (c == '\n') { s[i] = c; i++; } s[i] = '\0'; return(i);}copy(s1, s2)char s1[];char s2[];{ int i; i = 0; while((s2[i] = s1[i]) != '\0') i++;}
3 回答

忽然笑
TA貢獻(xiàn)1806條經(jīng)驗(yàn) 獲得超5個(gè)贊
您可以從命令行使用CTRL+D
(對(duì)于* nix)或CTRL+Z
(對(duì)于Windows)模擬EOF 。

鴻蒙傳說(shuō)
TA貢獻(xiàn)1865條經(jīng)驗(yàn) 獲得超7個(gè)贊
最后,鑒于簡(jiǎn)單的K&R代碼(適用于類Unix系統(tǒng)),在Windows上無(wú)法輕松完成。您可以發(fā)送'^ Z ^ M'(Ctrl-Z然后按Enter)以發(fā)送等效于Windows的EOF,但是您要在此C程序中檢查的char'EOF'不相同。
簡(jiǎn)短的答案:您不能。
- 3 回答
- 0 關(guān)注
- 813 瀏覽
添加回答
舉報(bào)
0/150
提交
取消