C- De Acill Yardım(Dosya Okumada Satır Satır İşlem)[ÇÖZÜLDÜ!]
-
Müridler 3 saat sonra sınavım var bi bakayım dedim tekrar amaçlı C de dosya okutma işleminde Sorun var
Sorun şu ki örneğin
fopen("Dosya.txt","a");
fputs("Selam \n Naber",p);
Şu satırda \n yaparak bir alt satıra naber yazdırabiliyorum fakat Dosya okurken
fopen("Dosya.txt","r");
printf("%s",fgets(Cevap,50,p));
Şurda bir alt satırdaki veriyi getirmiyor C de dosya okumada bir alt satıra geçme komutu nedir bilen var mı bulamadım :( Genelde C# Console.Readline() komutu cıkıyor karşıma da istediğim bu değil
Iyı günler hepinize şimdiden :)
MhmdAlmz tarafından 05/Oca/16 13:56 tarihinde düzenlenmiştir -
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
FILE * file = fopen("dosya.txt", "w");
char tampon[255] = {};
if(file == NULL)
{
printf("Dosya oluşturulamadı.");
exit(-1);
}
fprintf(file, "test\r\ntest2\r\n");
fclose(file);
file = NULL;
file = fopen("dosya.txt", "r");
if(file == NULL)
{
printf("Dosya okumak için açılamadı.");
exit(-1);
}
int satirno = 1;
while(EOF != fscanf(file, "%s[^\r\n]", &tampon))
{
printf("%d. satır: %s\r\n", satirno++, tampon);
}
fclose(file);
file = NULL;
return 0;
}
-
YeniHarman bunu yazdı
#include
#include
int main(int argc, char *argv[]) {
FILE * file = fopen("dosya.txt", "w");
char tampon[255] = {};
if(file == NULL)
{
printf("Dosya oluşturulamadı.");
exit(-1);
}
fprintf(file, "test\r\ntest2\r\n");
fclose(file);
file = NULL;
file = fopen("dosya.txt", "r");
if(file == NULL)
{
printf("Dosya okumak için açılamadı.");
exit(-1);
}
int satirno = 1;
while(EOF != fscanf(file, "%s[^\r\n]", &tampon))
{
printf("%d. satır: %s\r\n", satirno++, tampon);
}
fclose(file);
file = NULL;
return 0;
}
Abim teşekkürler pointere atıp yaptım son satırı 2 defa okuyor onu önleyip sınava gireceğim :D Senin bu yazdığın kodu yazarsam kesin 0 alırım adamlardaki mantık ben ne öğrettiysem onu yap
O yüzden bu kod calışıyor olabiir ama Şu kod yapısına puan vereceğini hiç sanmıyorum
char *c;
do
{
c=fgets(Cevap,50,p);
printf("%s",Cevap);
}
while(c!=NULL);
Şu kodda Herşey tamam sadece son satırı 2 defa çekiyor C nin başlangıç değerini vermem lazım while ile yapayım bitsin gitsin
-
SORUN ÇÖZÜLDÜ BUNUNLA KARŞILAŞAN ARKADAŞLAR KOD YAPISI =>
char Cevap[100];
FILE *p;
p=fopen("Dosya.txt","w+");
fputs("WhatAreYouDoing ? ",p);
fputs("Are You Crazy ? ",p);
fclose(p);
fopen("Dosya.txt","a");
fputs("Selam \n Naber",p);
fputs("Naber \n Naber2 Naber2",p);
fclose(p);
fopen("Dosya.txt","r");
int sayac=0;
char *c;
do
{
if(Cevap!=NULL)
printf("%s",Cevap);
c=fgets(Cevap,50,p);
}
while(c!=NULL);
