用C++,把一个文件的重写,在每一行前面加上行号和空格。怎么写程序?文件名称是“fish.txt”。

编写程序,打开指定的一个文本文件,并能在其中每一行的前面加上行号和一个空格符。... 编写程序,打开指定的一个文本文件,并能在其中每一行的前面加上行号和一个空格符。 展开
 我来答
xoalyg
2012-04-14 · TA获得超过4178个赞
知道大有可为答主
回答量:2356
采纳率:100%
帮助的人:2382万
展开全部
/*
将读出行的首部添加行号和空格后写到另一个文件filen.txt中,然后删除文件file.txt,再将filen.txt改为file.txt即可。在磁盘文件中添加内容再写回是很难实现的,且又因为文本文件(*.txt)的特殊结构,即使在不改变字符个数的情况下,读出再写回都有可能出错,所以下述代码使用了变通的方法,既简单,又可靠,这里强力推荐!
*/
#include <stdio.h>
#include <stdlib.h>

int main(void) {
int n = 1;
char s[1025]; // 假定每行不超过1024个字符
FILE *fin = fopen("file.txt","rt");
FILE *fout = fopen("filen.txt","wt");
if((fin == NULL) || (fout == NULL)) {
printf("无法打开文件!\n");
exit(1);
}
while(fscanf(fin,"%s",s) == 1) {
fprintf(fout,"%d %s",n,s);
n++;
}
fclose(fin);
fclose(fout);
return 0;
}
帐号已注销
推荐于2016-09-03 · TA获得超过664个赞
知道小有建树答主
回答量:1676
采纳率:0%
帮助的人:728万
展开全部
#include <Windows.h>
#include <iostream>
using namespace std;

int main()
{
FILE* file = NULL;
if(0 == fopen_s(&file,"fish.txt","w"))
{
fprintf_s(file,"%s","1 \n2 \n3 \n");
}
fclose(file);
return 0;
}
更多追问追答
追问
windows.h是什么头文件?
追答
这是Windows平台下的头文件,这里可以不用,以前我写代码时留下的忘记删了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式