后边的while循环什么意思?
追答读文件里面的内容啊
fgets()可以一行行读出来,返回NULL的时候就是到文件尾或异常了,这时候退出循环,结束文件读取。
printf就是显示在屏幕上
非常谢谢!
追答没事
要求带后缀名的
追答你可以自己输入 比如你输入的时候2.txt 或者2.c 都可以 这样自由 最后要关闭文件 close(fd);
char a;
int i;
char c[20] = {0};
scanf("%s",c);
fd = open(c,O_RDONLY);
i = 0;
while(1)
{
rc = read(fd,a,1);
if (rc <=0)
break;
buff【i】 = a;
i++;
}
write(1,buff,strlen(buff));
close(fd);
这样应该差不多了。。。
,O_RDONLY什么意思?fd是什么?怎么定义?rc又是什么怎么用?
追答O_RDONLY以只读形式打开,fd是文件描述符 rc是read的返回值 read出错返回-1,没读到东西返回0, 后面white第一个参数1是代表标准输出你也可以用printf(“%s\n”,buff);
追问void Display_yyg(Person per[],int n)
{
char (fd);
FILE *fp;
char a;
int i;
char c[20] = {0};
scanf("%s",&c);
fd = open(c,O_RDONLY);
i = 0;
while(1)
{
rc = read(fd,a,1);
if (rc <=0)
break;
char buff[i] = a;
i++;
}
write(1,buff,strlen(buff));
fclose(fd);
system("pause"); 这样对吗?是不是需要声明啊?
你把这个函数放在main前面就不需要声明!
void Display_yyg(Person per[],int n)
{
int fd;
char a,buff[1024];
int i;
char c[20] = {0};
scanf("%s",c);//c本来就是地址
fd = open(c,O_RDONLY);
i = 0;
while(1)
{
rc = read(fd,a,1);
if (rc <=0)
break;
char buff[i] = a;
i++;
}
write(1,buff,strlen(buff));
fclose(fd);
}加下头文件应该差不多了
什么文件头啊?#include
#include
#include这三个可以吗?
如FILE *fp;
char filename[20];
scanf("%s",&filename);
freopen( "filename.txt", "r", stdin );
/*if((fp=fopen("filename.txt","r+"))==NULL)
{
printf("\t无法打开此文件\n");
system("pause");
return;
}
printf("----------------------------------------------------------------------\n");
fclose(fp);*/
怎么解决?