C语言、麻烦大侠帮忙解释个程序

来源:百度知道 编辑:UC知道 时间:2024/06/18 17:46:44
#include<stdio.h>
main()
{
FILE *p;
unsigned int i=0;
char sd[20];
int k;
while(1)
{
sleep(5);
strcpy(sd,"");
sprintf(sd,"test%d.txt",i++);
p=fopen(sd,"w");

for(k=0;k<250;k++)
fprintf(p,"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
fclose(p);
}
}

恩、 FILE *p 是什么意思、
还有第三行的char sd[20]; 是不是定义一个长度为20个字节的字符
然后while那里是个死循环我知道、
sleep(5); 是不是每隔五秒执行一次下面的程序?
还有strcpy(sd,""); 是什么意思啊、怎么和
sprintf(sd,"test%d.txt",i++);
p=fopen(sd,"w");
也看不懂。printf("*%",sd)我知道是输出sd、那sprintf呢?
还有格式也不理解、
我能猜到这下面的意思是执行每次输出250个“p”、加上上面while的每隔五秒执行一次就是每隔五秒输出250个“P”
for(k=0;k<250;k++)
fprintf(p,"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
fcl

FILE *p; -- FILE 是系统定义的结构类型,*p 是声明p是指针,这是很标准的 声明 方式,p用于 打开文件和文件输入输出。
sleep(5); -- 停 5 毫秒。sleep 函数 参数单位是 毫秒。

strcpy(sd,""); -- 把一个空白(字符常量)复制到sd 的一开始处。
sprintf(sd,"test%d.txt",i++); -- 输出 test***.txt ,写到 sd 里,
*** 处是 i 的当前数值,(变量)。
p=fopen(sd,"w"); -- 打开文件 test***.txt ,作为 “输出写” 文件

每隔五毫秒,建一个新文件, test***.txt,输出250行 "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
到p指向的文件里。关闭此文件

新文件名 test1.txt,test2.txt,test3.txt 。。。。。
因为 i++

小心,这个程序可以用完你的磁盘空间!