谁知道如何给自己的程序段落前加上行数:
比如:1
2
这样方便到哪个行里面找到错误:
我每次都是自己数行数,很累!
请大家帮忙!
谁知道如何给自己的程序段落前加上行数:
比如:1
2
这样方便到哪个行里面找到错误:
我每次都是自己数行数,很累!
请大家帮忙!
对fstream不太熟悉,只能写成这样了,希望了解的指点下。。
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
struct line{
string str;
line * next;
};
int main()
{
ifstream fin("input.cpp");
string str0;
int i=1;
line *p,*head,*q;
char step[4];
while(getline(fin,str0,'\n'))
{
itoa(i,step,10);
str0 = "*/" + str0;
str0 = step + str0;
str0 = "/*" + str0;
p = new line;
if (1 == i) head = p;
p->str = str0;
p->next = NULL;
if (1 != i) q->next = p;
q = p;
i++;
}
fin.close();
ofstream fout("input.cpp");
p = head;
while (NULL != p)
{
fout<<p->str<<endl;
p = p->next;
}
return 0;
}
FindFirstFile和FindNextFile就可以了。
看2楼写了,我也写一个。
#include <iostream>
#include <fstream>
#include <string>
using namespace std;void AddLineSign(ostream& os,int n)
{
string s;
s.Format(\"/*%d*/\",n);
os<<s;
}int main()
{
ifstream ins(\"input.cpp\");
ofstream outs(\"output.cpp\");
char ch;
int i=0;
while(ins.eof())
{
ch=ins.get();
outs.put(ch);
if(ch=='\n')
{
AddLineSign(outs,i);
i++;
}
}
ins.close();
outs.close();
return 0;
}
[此贴子已经被作者于2006-11-2 21:52:18编辑过]
我把你的改了一下,终于可行了,但是代码中不能有/* ...*/类的注释,要不还是不能直接编译.
而且最后一个字符总是 乱码字符就是哪个 y上面还有两个点,那是什么原因啊?
[CODE]#include <stdlib.h>
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
void AddLineSign(ostream& os,int n)
{
os<<"/*"<<n<<"*/";
}
int main()
{
ifstream ins("shiyan1.cpp");
ofstream outs("output.cpp");
char ch;
int i=1;
outs<<"/*"<<i<<"*/";
while(!ins.eof())
{
ch=ins.get();
outs.put(ch);
if(ch=='\n')
{
AddLineSign(outs,i+1);
i++;
}
}
ins.close();
outs.close();
return 0;
}[/CODE]