- Yettel topik
- Apple Watch
- Honor 400 Pro - Gép a képben
- Redmi Note 13 Pro 5G - nem százas, kétszázas!
- Honor 200 Pro - mobilportré
- Erős, de energiahatékony lesz a Dimensity 9500
- Samsung Galaxy A56 - megbízható középszerűség
- Google Pixel topik
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- Samsung Galaxy S23 Ultra - non plus ultra
Hirdetés
Új hozzászólás Aktív témák
-
Coconut's
csendes tag
válasz
Chipi333 #3127 üzenetére
Köszönöm szépen a segítséget, és Jester01-nek is, de sajnos nem jöttem rá még, hogy miért rakja egy sorba a dolgokat az átmeneti fájlban. Valahogy ez a törlés nem fekszik nekem, itt a jelenlegi kódom, az észrevételeket szívesen fogadom továbbra is, és köszi előre is
void torol(MUSIC zene, FILE *f)
{
fflush(stdin);
char celpont1, celpont2, celpont3, celpont4;
char s[10]="";
printf("A torles funkciot hasznalod, a kovetkezokben add meg, pontosan melyik zenet szeretned torolni!\n");
system("pause");
printf("Add meg, melyik eloado zenejet szeretned torolni!");
fgets(&celpont1,MAX_STR,stdin);
printf("Add meg, melyik szerzo zenejet szeretned torolni!");
fgets(&celpont2,MAX_STR,stdin);
printf("Add meg, milyen hosszusagu zenet szeretnel torolni!");
fgets(s,99,stdin);
celpont3=atoi(s);
printf("Add meg, melyik mufaju zenet szeretned torolni!");
fgets(&celpont4,MAX_STR,stdin);
FILE *tmp = fopen("tmp.txt", "wb");
/*// Másolás az átmeneti fájlba
char tmp2;
while(!feof(f))
{
tmp2 = getc(f);
if(strcmp(tmp2, celpont1) != 0 || strcmp(tmp2, celpont2) != 0 || strcmp(tmp2, celpont3) != 0 || strcmp(tmp2, celpont4) != 0)
{
fprintf(tmp, " ");
}
else{
putc(tmp2, tmp);
};
}
// Visszamásolás
while(!feof(tmp))
{
tmp2 = getc(tmp);
putc(tmp2, f);
}; */
fclose(tmp);
} -
Coconut's
csendes tag
Sziasztok!
Lenne egy kis problémám, C kóddal szeretnék törölni egy .txt fájlból sorokat, amiket a programban kérek be, változókba. Az első hiba, hogy amikor átmeneti fájlba másolok, egymás után rakja a sorokat, nem új sorba, tehát 1 sorban lesz az egész, +hát ugye a törlés sem működik, itt a kód, amire jutottam eddig, köszönöm szépen a segítségeket előre is!void torol(MUSIC zene, FILE *f)
{
fflush(stdin);char celpont1, celpont2, celpont3, celpont4;
char s[10]="";printf("Add meg, melyik eloado zenejet szeretned torolni!");
fgets(&celpont1,MAX_STR,stdin);
printf("Add meg, melyik szerzo zenejet szeretned torolni!");
fgets(&celpont2,MAX_STR,stdin);
printf("Add meg, milyen hosszusagu zenet szeretnel torolni!");
fgets(s,99,stdin);
celpont3=atoi(s);
printf("Add meg, melyik mufaju zenet szeretned torolni!");
fgets(&celpont4,MAX_STR,stdin);FILE *tmp = fopen("tmp.txt", "wb");
// Másolás az átmeneti fájlba
char tmp2[TMP];do
{
tmp2[TMP] = getc(f);
if(tmp2 == &celpont1 || tmp2 == &celpont2 || tmp2 == &celpont3 || tmp2 == &celpont4)
{
fprintf(tmp, " ");
}
putc(tmp2[TMP], tmp);
}while(!feof(f));
// Visszamásolás
do
{
tmp2[TMP] = getc(tmp);
putc(tmp2[TMP], f);}while(!feof(tmp));
fclose(tmp);
}Ui.: Az f file-t miután visszatér az eljárásból, ott zárom be(a main()-ben), az f-ben vannak a sorok beolvasva így:
adat1 // char típusú(előadója)
adat2 // char típusú(szerzője)
adat3 // int típusú(hossza)
adat4 // char típusú(műfaja)Ez egy zeneszámos progi, 4 adat vonatkozik 1 zenére, de ez végülis nem számít, mert a sorokat egyenként is tudom törölni, mert 4 külön változóba kérem be a sorok tartalmát. Az első probléma mindenképpen az, hogy nem rak új sorokat a tmp fájlba másoláskor, pedig az f-ben úgy vannak.
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- ÚJ Asus TUF Gaming F17 FX707 - 17.3"FHD IPS 144Hz - i7-13620H - 16GB - 1TB - RTX 4060 -3 év garancia
- DELL Precision 5560 i7-11850H 32GB 1000GB T1200 FHD+ 1 év garancia
- Telefon felvásárlás!! Samsung Galaxy Note 10+/Samsung Galaxy Note 20/Samsung Galaxy Note 20 Ultra
- Lenovo IdeaPad Gaming 3 - 15.6" FHD IPS 165Hz - Ryzen 5-5600H - 16GB - 512GB - RTX 3050 Ti - Win11 P
- GYÖNYÖRŰ iPhone 15 Plus 128GB Pink -1 ÉV GARANCIA - Kártyafüggetlen, MS3068
Állásajánlatok
Cég: FOTC
Város: Budapest