| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 563 人关注过本帖
标题:求文件程序,急
只看楼主 加入收藏
cdutzh101
Rank: 2
等 级:论坛游民
帖 子:43
专家分:64
注 册:2009-8-20
结帖率:50%
收藏
已结贴  问题点数:10 回复次数:7 
求文件程序,急
今老师给题目:设计程序,将一个文本文件的每一行前加上行号写到另一个文本文件中。
自己折腾了半天还是没结果,请大侠给于帮助,谢谢
搜索更多相关主题的帖子: 文件 
2009-09-19 11:32
changyilin
Rank: 2
等 级:论坛游民
帖 子:18
专家分:20
注 册:2009-9-4
收藏
得分:2 
用fgets()一行一行的把文本读出来,然后加上行号以后,再写入到文本中去,就可以了。
2009-09-19 21:39
Devil_W
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:9
帖 子:1160
专家分:1797
注 册:2009-9-14
收藏
得分:2 
-BASH-4.0.23$ cat datafile
northwest       NW      Charles Main            3.0     .98     3       34
western         WE      Sharon Gray             5.3     .97     5       23
southwest       SW      Lewis Dalsass           2.7     .8      2       18
southern        SO      Suan Chin               5.1     .95     4       15
southeast       SE      Patricia Hemenway       4.0     .7      4       17
eastern         EA      TB Savage               4.4     .84     5       20
northeast       NE      AM Main Jr.             5.1     .94     3       13
north           NO      Margot Weber            4.5     .89     5       9
central         CT      Ann Stephens            5.7     .94     5       13-BASH-4.0.23$ ./anum.sh datafile
1 northwest NW Charles Main 3.0 .98 3 34
2 western WE Sharon Gray 5.3 .97 5 23
3 southwest SW Lewis Dalsass 2.7 .8 2 18
4 southern SO Suan Chin 5.1 .95 4 15
5 southeast SE Patricia Hemenway 4.0 .7 4 17
6 eastern EA TB Savage 4.4 .84 5 20
7 northeast NE AM Main Jr. 5.1 .94 3 13
8 north NO Margot Weber 4.5 .89 5 9
-BASH-4.0.23$



-BASH-4.0.23$ cat anum.sh
程序代码:
#!/bin/bash
col=0
while read line
do
col=`expr $col + 1`
echo $col $line
done<$1-BASH-4.0.23$
2009-09-19 21:58
cdutzh101
Rank: 2
等 级:论坛游民
帖 子:43
专家分:64
注 册:2009-8-20
收藏
得分:0 
我初步是这样写的:
while(fgets(string,80,fp1)!=NULL)
{
    fputc(char(i),fp2);
    fputs(string,fp2);
    i++;
}
但出来的结果老是莫名其妙的。请帮助
2009-09-26 15:17
jedypjd
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:9
帖 子:1096
专家分:4969
注 册:2009-7-27
收藏
得分:0 
3楼是在linux的shell里面操作吧,楼主可能是windows的任务

天涯无岁月,歧路有风尘,百年浑似醉,是非一片云
2009-09-26 15:30
jedypjd
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:9
帖 子:1096
专家分:4969
注 册:2009-7-27
收藏
得分:2 
C#中
            string str = "";
            int index = 1;
 
            StreamReader reader = new StreamReader(要读取的文件路径);           
 
            StreamWriter sw = File.CreateText(要写的文件路径);
            
                while ((str = reader.ReadLine()) != null)
                {
                    str = index.ToString() + " " + str;
            
                    sw.WriteLine(str);
 
                    index++;
 
                }
                sw.Close();

天涯无岁月,歧路有风尘,百年浑似醉,是非一片云
2009-09-26 16:08
rangelee
Rank: 2
等 级:论坛游民
帖 子:17
专家分:18
注 册:2009-7-4
收藏
得分:2 
  FILE *fp,*tp;
  char Temp[1024],ch;
  char *Getch,*GetH;
  int i,j;
  
if((fp=fopen("xx.txt","rt"))==NULL)
   {
     printf ("Cannot open file press any key exit!");
     getch();
     exit(1);
    }
  ch=fgetc(fp);
while (ch!=EOF)
   {
    Temp[i]=ch;
    i++;
    if (ch=='\n')    /*判断是否是一行*/
     {
      j++;
      Temp[i-1]='\0';
      strcpy(Getch,Temp);  
      sprintf(GetH,"%d",j);       /*添加行号*/
      strcat(GetH," ");           /*添加空格*/
      strcat(GetH,Getch);         /*添加读取的行内容*/
      strcat(GetH,'\n');
     tp=fopen("xx1.txt","ab");
     fputs(GetH,tp);  
    }
   ch=fgetc(fp);
}
fclose(fp);
fclose(tp);


主体部分这样就应该可以了吧!
     

[ 本帖最后由 rangelee 于 2009-9-26 16:21 编辑 ]
2009-09-26 16:18
刘暮哲
Rank: 2
来 自:江苏
等 级:论坛游民
帖 子:75
专家分:83
注 册:2009-9-25
收藏
得分:2 
#include<stdio.h>
#include<stdlib.h>
void main()
{
  FILE *fp,*tp;  
  char Temp[1024],ch;
  char *Getch,*GetH;
  int i,j;
  j=0;
   
if((fp=fopen("xx.txt","rb+"))==NULL)  
   {  
     printf ("Cannot open file press any key exit!");  
     getch();  
     exit(0);  
    }  
  ch=fgetc(fp);
while (ch!=EOF)  
   {  
    Temp[i]=ch;  
    i++;  
    if (ch=='\n')    /*判断是否是一行*/
     {  
      j++;
      Temp[i-1]='\0';
      strcpy(Getch,Temp);   
      sprintf(GetH,"%d",j);       /*添加行号*/
      strcat(GetH," ");           /*添加空格*/
      strcat(GetH,Getch);         /*添加读取的行内容*/
      strcat(GetH,'\n');
     tp=fopen("xx1.txt","ab");  
     fputs(GetH,tp);   
    }
   ch=fgetc(fp);
}
fclose(fp);
fclose(tp);
}
这样就可以了  呵呵 借鉴的楼上的   

做最好的自己
2009-09-26 22:05
快速回复:求文件程序,急
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012360 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved