#include
void main(void)
{
FILE *fpIn; // 输入文件的指针
FILE *fpOut; // 输出文件的指针
char str[120]; // 用来存储从文件中读取出的”一行“字符串信息
int row = 1;
fpIn = fopen("data5612.cpp", "r"); // 以只读和文本格式打开data5612.cpp,这里的文件名无所谓大小写
fpOut = fopen("data5612.txt", "w"); // 以创建方式(也叫写方式)打开data5612.txt文件
fgets(str, 81, fpIn); // 从文件中读取一行信息,保存到str数组中。这里要注意的是这个81,一般情况下,编写文本格式文件的人,都习惯遇到行尾就敲回车,所以,一般情况下,文本文件一行最多80个字符。如果,一行不够80个字符,这个函数会自动只读到'\n'就结束了。
while(!feof(fpIn)) // 判断上一次fgets()是否正常(即,没有遇到文件尾部)
{
fprintf(fpOut, "%04d %s\n", row, str); // 在读入的每一行信息前,加入0000到9999的行号(应该够用了吧),呵呵呵呵
row++; // 行号加一
fgets(str, 81, fpIn); // 读取下一行
}
fclose(fpIn); // 关闭文件
fclose(fpOut);
}
程序已验证,木有问题。
#include
int main(void)
{
int n = 1;
char buf[1024];
FILE *fp, *fp1;
/* 打开文件,文件名必须大写 */
fp= fopen("DATA5612.CPP", "r");
if (!fp) {
printf("No 'DATA5612.CPP' found.\n");
return -1;
}
fp1= fopen("DATA5612.TXT", "w");
if (!fp) {
printf("No 'DATA5612.TXT' found.\n");
return -1;
}
/* 逐行读取 */
while (fgets(buf, 1024, fp) > 0)
fprintf(fp1, "%d. %s", n++, buf);
fclose(fp);
fclose(fp1);
return 0;
}