敲的是書上的例題,可以運行沒有報錯,但是在相應的“ed.txt”裡沒有添加任何文字,一直是空的。
-----------------------------------------------------------------------
typedef char SElemType;
#include"c1.h"
#include"c3-1.h"
#include"bo3-1.cpp"
FILE *fp;
void copy(SElemType c)
{
fputc(c,fp);
}
void LineEdit()
{
SqStack s;
char ch;
InitStack(s);
printf("請輸入^Z結束輸入:\n");
ch=getchar();
while(ch=!EOF)
{
while(ch!=EOF&&ch!='/n')
{
switch(ch)
{
case'#':if(!StackEmpty(s))
Pop(s,ch);
break;
case'@':ClearStack(s);
break;
default:Push(s,ch);
}
ch=getchar();
}
StackTraverse(s,copy);
fputc('/n',fp);
ClearStack(s);
if(ch!=EOF)
ch=getchar();
}
DestroyStack(s);
}
void main()
{
fp=fopen("ed.txt","w");
if(fp)
{
LineEdit();
fclose(fp);
}
else
printf("建立文件夾失敗!\n");
}
沒寫入肯定是LineEdit這個函數出問題了
while(ch=!EOF); //應該是while(ch!=EOF)