[求助][经验]
#include <stdio.h>#include<stdlib.h>
void write();
void read();
int main()
{
int i;
printf("Enter a number to choice:\n(1)write (2)read\n");
scanf("%d",&i);
if(i==1)
write();
else
read();
return 0;
}
void write()
{
FILE *fp;
char ch[10];
int i=0;
fp=fopen("string.txt","w");
printf("Enter a string:");
getchar();
gets(ch);
printf("\nThe string you want to write to the file is:\n%s",ch);
fputs(ch,fp);
fclose(fp);
}
void read()
{
FILE *fp;
char ch[10];
long i;
fp=fopen("string.txt","rb");
fgets(ch,10,fp);
printf("The data is:%s\n",ch);
i=ftell(fp);
printf("The number:%ld",i);
fclose(fp);
}
问题,我运行这个程序是弹出一个框为以下内容:
16位MS_DOS子系统
NTVDM CPU 遇到无效的指令
CS:1904 IP:2d92 OP:c7 1b 00 00 98 先择关闭终止应用程序.
关闭 忽略
这个程序我能在VC中正常的运行,在TC就出了问题,能告诉一下我是什么原因吗,应该怎么样改?