nikel1992 Posted January 23, 2012 Report Posted January 23, 2012 (edited) Programul trebuie sa citeasca dintr`un fisier sursa si sa afiseze in fisierul destinatie pe linie. fiecare propozitie.si sa afiseze numartul de bytes copiati.#include<stdio.h>#include<stdlib.h>int main (int argc, char*argv[]){char *carac;int i;char *nume1;char *nume2;carac=malloc(1000*sizeof(char));FILE *ifp;FILE *ofp;nume1=argv[1];nume2=argv[2];ifp=fopen(nume1,"r");ofp=fopen(nume2,"w");/*ifp=fopen("sursa.doc","r");ofp=fopen("destinatie.doc","w");*/if(ifp==NULL) printf("Fisierul sursa nu se poate deschide"); else if (ofp==NULL) printf("Fisierul destinatie nu se poate deschide");i=0;int nr;while (!feof(ifp)){ carac=fgetc(ifp); i++; }nr=i;if(ofp!=NULL) printf("S`au copiat %d de bytes\n",nr);for (i=0;i<nr;i++){ fprintf(ofp,"%c",carac); if (carac==".") fprintf(ofp,"\n"); }fclose(ifp);fclose(ofp);return 0;}Incerc sa`mi dau seama unde gresesc si de ce nu`mi afiseaza. Daca ma puteti ajuta .. multumesc mult. Edited January 23, 2012 by nikel1992 Quote
em Posted January 23, 2012 Report Posted January 23, 2012 (edited) Dac? copiezi de la al?ii pân? ?i la cele mai u?oare chestii ce s? mai în?elegi pe urm?..În caz c? nu g?se?te parametrii în linia de comand? ar fi trebuit s? dai return -1;int i=o;#include<stdio.h>#include<stdlib.h>int main (int argc, char*argv[]){ char *carac; int i; char *nume1; char *nume2; carac=malloc(1000*sizeof(char)); FILE *ifp; FILE *ofp; nume1=argv[1]; nume2=argv[2]; ifp=fopen(nume1,"r"); ofp=fopen(nume2,"w"); if(ifp==NULL) printf("Fisierul sursa nu se poate deschide"); else if (ofp==NULL) printf("Fisierul destinatie nu se poate deschide"); i=0; while (!feof(ifp)) { carac[i]=fgetc(ifp); i++; } int nr=i; if(ofp!=NULL) printf("S`au copiat %d de bytes",nr); for(i=0;i<nr;i++) fprintf(ofp,"%c",carac[i]); fclose(ifp); fclose(ofp); return 0;} Edited January 23, 2012 by em Quote
nikel1992 Posted January 23, 2012 Author Report Posted January 23, 2012 (edited) spre surprinderea ta .... nu copiez probleme de la altii.... dar s`a intamplat sa ma grabesc cand am scris codul , iar ce am dat pentru a fi corectat avea cateva erori preliminare. am reusit sa fac programul decat ca nu pot deschide fisierul destinatie.Eroarea la deshiderea fisierului destinatie: gedit has not been able to detect the character encoding.Please check that you are not trying to open a binary file.Select a character encoding from the menu and try again. Edited January 23, 2012 by nikel1992 Quote
cifratorul Posted January 23, 2012 Report Posted January 23, 2012 pune si tu un t la fopenurile alea Quote
cifratorul Posted January 23, 2012 Report Posted January 23, 2012 adica citeste mai bine help-ul de la fopen (in mod normal trebuia sa fi facut deja asta daca ti-am zis sa mai pui ceva la fopen). 1 Quote