Otwarcie i edycja pliku txt w jezyku C

0

Czy moze mi ktos podpowiedziec jak otworzyc zapisany plik txt aby moc go edytowac ? Mam do oddania projekt na poniedzialek i jest to mega wazne.
Z gory dziekuje.

0

@Lord Darkstorm w tym linku nie ma zawartej odpowiedzi na moje pytanie...

0

Otworzyc zapisany plik by go edytowac i zapisac ten edytowany. Tak jest napisane w glownym watku..

0
raport asia_261 napisał(a)

Link do wikibooks a prosilam o pomoc .. W internecie sama moge znalezc takie rzeczy.. Nie o to prosilam

Ech, @Lord Darkstorm podał Ci link do podręcznika, gdzie wszystko jest ładnie opisane. W takim razie o co prosiłaś? O napisanie tego za Ciebie? Tu podstawą jest umiejętność korzystania z dokumentacji, z kursów... Pomagamy dopiero, kiedy sobie KONKRETNIE z czymś nie radzisz. Więc w jaki sposób wg Ciebie ta pomoc ma wyglądać???

0

A gdzie jest opisane jak dokonac EDYCJI tego pliku ??

KONKRETNIE nie radze sobie z edycja pliku w tym programie:

#include <stdio.h>

#include <string.h>

#include <stdlib.h>

int main(void)

{
    char wybor;

    printf("Podaj operacje\n Dodaj projekt do bazy - d\n Usun projekt - u\n Edytuj projekt - e\n Wyswietlij liste projektow - l\n Wyswietlij szczegoly wybranego projektu lacznie z trescia zadania\n ( z pliku tekstowego) - w\n Automatyczne wyszukiwanie projektow nikomu nie przydzielonych - a\n Zapis i odczyt danych z pliku - z\n");

    scanf("%c",&wybor);

    switch(wybor)

{
    case 'd' : dodaj_projekt();

    break;

    case 'u' : usun_projekt();

    break;

    case 'e' : edytuj_projekt();

    break;

    case 'l' : wyswietl_projekt();

    break;

    case 'w' : szczegol_projekt();

    break;

    case 'a' : auto_projekt();

    break;

    case 'z' : zapis_i_odczyt();

    break;

    default: printf("Musisz wybrac jakis dozwolony znak\n");

    break;

}
    return 0;

}
    void dodaj_projekt()

{
    char tytul[50];

    char plik[40];

    char tresc[255];

    char nazwisko[30];

    int ocena;

    printf("Podaj nazwe pliku\n");

    scanf("%35s",plik);

    printf("Podaj tytul\n");

    scanf("%s",tytul);

    printf("Podaj tresc projektu\n");

    while(getchar()!='\n') {}

    fgets(tresc,255,stdin);

    printf("Podaj nazwisko\n");

    scanf("%s",nazwisko);

    printf("Podaj ocene\n");

    scanf("%d",&ocena);

    if ( !strstr(plik,".") )

{
    strcat(plik,".txt");

}
    FILE *file;

    FILE *file2;

    if (file2 = fopen(plik,"r") == NULL)

{
    file = fopen(plik,"w+");

    fprintf (file, "%s", tytul);

    fprintf (file, "%c", '\n');

    fprintf (file, "%s", nazwisko);

    fprintf (file, "%c", '\n');

    fprintf (file, "%d", ocena);

    fprintf (file, "%c", '\n');

    fprintf (file, "%s", tresc);

}
    else

{
    printf("Jest juz podany projekt\nZacznijmy wszystko od nowa\n");

    close(file2);

    dodaj_projekt();

}
    close(file);

}
    void usun_projekt()

{
    char plik[40];

    printf("Podaj nazwe projektu, ktory chcesz usunac\n");

    scanf("%s",plik);

    if ( !strstr(plik,".") )

{
    strcat(plik,".txt");

}
    FILE *file;

    if (file = fopen(plik,"r") != NULL)

{
    remove(plik);

}
    else

{
    printf("Nie ma takiego projektu\n Zacznijmy wszystko od nowa\n");

    usun_projekt();

}
}
    void edytuj_projekt()

{
    char plik[40];

    printf("Podaj nazwe projektu, ktory chcesz edytowac\n");

    scanf("%s",plik);

    if ( !strstr(plik,".") )

{
    strcat(plik,".txt");

}
    FILE *file;

    FILE *f=fopen("plik","tra");

    if (file = fopen(plik,"tra") != NULL){}
}
    void wyswietl_projekt()

{
    char plik[40];

    printf("Podaj nazwe projektu, ktory chcesz wyswietlic\n");

    scanf("%s",plik);

    if ( !strstr(plik,".") )

{
    strcat(plik,".txt");

}
    FILE *file;

    char uchwyt[255];

    int wynik;

    if (file = fopen(plik,"r") != NULL){}

    else

{
    printf("Nie ma takiego projektu\n Zacznijmy wszystko od nowa\n");

    wyswietl_projekt();

}

}
    void szczegol_projekt()

{
    char plik[40];

    printf("Podaj nazwe projektu, ktorego szczegoly chcesz wyswietlic\n");

    scanf("%s",plik);

    if ( !strstr(plik,".") ){}

    strcat(plik,".txt");

}
    void auto_projekt()

{

}
    void zapis_i_odczyt()

{
    char plik[40];

    printf("Zapis i odczyt bazy danych z pliku\n");

    scanf("%s",plik);

    if ( !strstr(plik,".") ){}

    strcat(plik,".txt");
}

Czy tak duzo wymagam?????

0

Może napisz co rozumiesz pod - "edytować".
Radzę zacząć od szczegol_projekt() lub wyswietl_projekt() jak zrozumiesz że przy takim zapisie tego nie da się zrobić to wróć do dodaj_projekt();
Zrozumieć że się nie da można prościej, obejrzyj sobie plik wynikowy za pomocą notepad'a.
Poczytaj też o funkcji: fseek()

1 użytkowników online, w tym zalogowanych: 0, gości: 1