To mój pierwszy post więc witam wszystkich.
Chcę napisać sobie program do porównywania lini w pliku np:
tomek
kamil
jola
tomek
Ma zostać coś takiego:
tomek
kamil
jola
Czyli ma usuwać powtarzające się frazy.
Dopiero od nie dawna uczę się ansi c i mam problem nawet z wymyśleniem jak to zrobić i jakich funkcji użyć.
Kawałek kodu który wypociłem :
# #include <stdio.h>
#include <stdlib.h>
#include <string.h>
//#include <ctype.h>
//#define MAX 5120
int main (int argc, char *argv[])
{
FILE *we, *wy; // declaration indicators files
char nazwa[256]; // memory for initial file
char new_file[] = "_out.txt"; // name end's file
int ch;
int licznik = 0;
//---
//char buf1[MAX];
//char buf2[MAX];
//int a;
//char LINE_NUMBER = 0;
if(argc < 2)
{
printf("Launch program with factor:\n -help\n");
printf("Example: rc -help");
// help text
}
if(argc > 1 && strcmp(argv[1], "-help") == 0)
{
printf("Help:\n -help\n -p file_name\n -a licens\n ");
printf("Example: rc -p file.txt");
// help text
}
if(argc > 1 && strcmp(argv[1] , "-a") == 0)
{
puts("udalo sie");
}
if(argc == 2 && strcmp(argv[1] , "-p") == 0 )
{
fprintf(stderr, "Example: %s -p file_name\n", argv[0]);
exit(0);
}
if(argc > 2 && strcmp(argv[1], "-p") == 0 && argv[2])
{
//we = argv[2];
//printf("%s", argv[2]);
if((we = fopen(argv[2], "r")) == NULL)
{
fprintf(stderr, "no can open file \"%s\".\n",argv[2]);
exit(1);
}
strcpy(nazwa,argv[2]);
strcat(nazwa, new_file);
if((wy = fopen(nazwa, "w")) == NULL)
{
fprintf(stderr,"No can create file.\n");
exit(2);
}
while ((ch = fgetc( we)) != EOF)
//licznik++
//strcmp(ch1, h);
fputc(ch, wy);
if(fclose(we) != 0 || fclose(wy) != 0){
fprintf(stderr,"Erorr with close files.\n");
exit(3);
}
}
return 0;
}
Mam nadzieje że wybaczycie mi moje teksty w kodzie po ang bo pewnie są w stylu kali jeść kali pić :) kod pewnie zresztą też. Na razie udaje mi się skopiować plik b.txt do pliku b.txt_out.txt. Na resztę nie mam pomysłu myślałem żeby to wczytać do tablicy ale tez za bardzo nie wiem jak.
Proszę o pomoc.
Pozdrawiam
unreal