Как написать программу для построчной обработки текста? - C (СИ)

Формулировка задачи:

Вот задание.. Написать программу для построчной обработки текста. В главной функции программа должна запросить и ввести с клавиатуры имена исходного и результирующего файлов и при необходимости дополнительные данные. Затем эти данные через список аргументов передаются функции обработки текста. Она открывает файлы и, считывая текст из входного файла, построчно передает его функции из прошлого задания (для удобства в ее реализацию можно внести изменение), а результат выводит на экран и сохраняет в результирующий фай Выводить лишь измененные строки. После каждой строкой записывать номер строки в исходном тексте...\ Вот есть программный код..как его изменить для этого задания??
#include <stdio.h>
#include <conio.h>
 
int cnt, numz = 0;
 
void process(char *st1, int &num) {
 
  while (st1[num] != '\0' )  {
  
    if (st1[num] == ',') return;
   
    num++;
  }
 
  if (st1[num] == '\0') num = -1;
}
 
int WorkFile (char *fn1, char *fn2) {
  
  char t1[255];
  FILE *pf1, *pf2;
 
 
  if ((pf1 = fopen (fn1,"r")) == NULL) {
    printf("Невозможно открыть исходный файл для чтения!");
    return -1;
  }
 
 
  if ((pf2 = fopen (fn2,"w")) == NULL) {
    printf("Невозможно открыть файл для записи!");
    return -1;
  }
 
 
  while (!feof (pf1))
  {
    
    fgets (t1, 255, pf1);
    
    cnt = 0;
 
    
    do {
      process(t1, numz);
    
      if (numz != -1) {
    fprintf(pf2, "%d ", numz); 
    printf("%d ", numz);
    cnt++; 
    numz++; 
      }
    
    } while (numz != -1);
 
    if (cnt == 0) {
      fprintf(pf2, "В строке нет ни одной запятой\n");
      printf("В строке нет ни одной запятой\n");
    }
    else {
      fprintf(pf2, "\n");
      printf("\n");
    }
  }
 
  
  fclose (pf1); fclose (pf2);
  return 0;
}
 
char fname1[255], fname2[255];
 
void main()
{
  clrscr();
 
  printf("Введите имя исходного файла:\n" );
  gets(fname1);
  printf("Введите имя файла для вывода:\n" );
  gets(fname2);
 
  WorkFile(fname1, fname2);
 
  printf("\n-= Нажмите любую клавишу =-");
  getch();
}
Это кода на си ...что нужно изменить для выполнения моего задания? Заранее спасибо Добавлено через 1 час 19 минут поможет кто нибудь? Добавлено через 2 часа 2 минуты Помогите кто либо пожалуйста срочно нужно((

Код к задаче: «Как написать программу для построчной обработки текста? - C (СИ)»

textual
#include <iostream>
#include <conio.h>
#include <stdio.h>
char t1[255],t2[255];
using namespace std;
int WorkF(char *fn1 ,char *fn2 ){
 char t1[255],t2[255];
 char *proc;
 int i=0;
 FILE  *pf1,*pf2;
 if ((pf1=fopen(fn1,"r"))==NULL){
                                 printf("Not read this file!");
                                 return -1;
                                 }  
 if((pf2=fopen(fn2,"w"))==NULL){
                                printf("Not write this file!");
                                return -1;
                                }
 while (!feof(pf1))  {                                                           
 
 fgets(t1,255,pf1);
 i++;
 //if(proc(t1,t2)==1){
                    //printf("String %d: %s",i,t2);
                    //fprintf(pf2,"String %d: %s",i,t2);
                    
 
                   // }
                    }
                    fclose(pf1);fclose(pf2);
                    return 0;
}
int Proc(char *main)
{
 
 
    int i;
    for(i=1;main[i]!=0;i++)
    {
        if(main[i-1]==' ' && (main[i]==' ' || i==1) )
        {
            for(int j=i-1;main[j]!=0;j++)
                main[j]=main[j+1];
            i--;
        }
    }
    if(main[i-1]==' ')main[i-1]=0;
    cout<<main;
    _getch();
    return 0;
}
char fname1[255],fname2[255];
int main(char arr[255])
{
puts("Enter input file:\n");
gets(fname1);
puts("Enter output file");
gets(fname2);
WorkF(fname1,fname2);
puts("Enter string:");
gets(arr); 
}
Эта работа вам не подошла?

Вы всегда можете заказать любую учебную работу у наших авторов от 20 руб.

10   голосов, оценка 4.100 из 5


СДЕЛАЙТЕ РЕПОСТ