c语言程序,给源程序添加行号
编写程序给源程序文件DATA5612.CPP加上行号后储存到另一个文本文件DATA5612.TXT中。用记事本自行建立一个DATA5612.CPP文件,输入一些源程序进行...
编写程序给源程序文件DATA5612.CPP加上行号后储存到另一个文本文件DATA5612.TXT中。
用记事本自行建立一个DATA5612.CPP文件,输入一些源程序进行测试,存放在于程序相同的文件夹中。
请诸位帮帮忙,这个程序怎么写呀?还要详细的解析,这是这是做什么的,用到的知识是什么
谢谢!!!!感激不尽!!! 展开
用记事本自行建立一个DATA5612.CPP文件,输入一些源程序进行测试,存放在于程序相同的文件夹中。
请诸位帮帮忙,这个程序怎么写呀?还要详细的解析,这是这是做什么的,用到的知识是什么
谢谢!!!!感激不尽!!! 展开
2个回答
展开全部
#include<stdio.h>
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);
}
程序已验证,木有问题。
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 <stdio.h>
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;
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询