infoarena

infoarena - concursuri, probleme, evaluator, articole => Informatica => Subiect creat de: Alexandru Coman din Ianuarie 27, 2011, 18:47:37



Titlul: Eroare c++
Scris de: Alexandru Coman din Ianuarie 27, 2011, 18:47:37
AM incercat sa fac problema a+b dar astfel incat sa citesc numerele din alt director decat cel cu c-u si afisarea la fel sa fie in alt director , de asemenea numele fisierului sa fie citit de la tastatura , cand il compilez , dupa ce scriu numele fisierului imi iese de tot din Borland C si imi apare o caseta in care zice ceva ce Ilegal Operation... care credeti ca ar putea fi problema?:D:D

Cod:
#include<fstream.h>
#include<string.h>
#include<conio.h>
void main()
{int a,b;
char fisier [100];
ifstream f("d:\\numere.cpp");
f>>a;
f>>b;
f.close();
cout<<"dati denumirea fisierului: ";cin>>fisier;

strcpy(fisier,strcat(fisier,".cpp"));
strcpy(fisier,strcat("d:\\",fisier));

ofstream g(fisier);

g<<a+b;
g.close();
}

 Editat de admin: Foloseste tagul "code" cand postezi surse.


Titlul: Răspuns: Eroare c++
Scris de: Alexandru Coman din Ianuarie 28, 2011, 11:54:28
Hai ma din 31 de view-uri nici unu nu vrea sa imi dea un rasp?:|:|


Titlul: Răspuns: Eroare c++
Scris de: Stefan-Alexandru Filip din Februarie 03, 2011, 23:40:33
Problema ta este probabil de la numele de fisiere pe care le folosesti. Presupunand ca programul tau este salvat ca "d:\numere.cpp" atunci este probabil ca borlandul face anumite dubiosenii la compilare/rulare si blocheaza fisierul spunandu-i sistemului de operare ca acesta e in folosinta. Nu imi dau seama eaxct de ce fisierele din care citesti si scrii au extensia cpp.

Alta varianta ar fi ca pur si simplu userul cu a carui drepturi este rulat borlandul nu are drepturi de citire/scriere in radacina lui d.


Titlul: Răspuns: Eroare c++
Scris de: George Marcus din Februarie 04, 2011, 13:28:02
E de la:
Cod:
strcpy(fisier,strcat("d:\\",fisier));

Incearca asa ceva:
Cod:
#include<fstream.h>
#include<string.h>
#include<conio.h>

char fisier[100],cale[100];

void main()
{int a,b;
ifstream f("d:\\numere.cpp");
f>>a;
f>>b;
f.close();
cout<<"dati denumirea fisierului: ";cin>>fisier;

strcpy(cale,strcat(cale,"d:\\"));
strcpy(cale,strcat(cale,fisier));
strcpy(cale,strcat(cale,".cpp"));

ofstream g(cale);

g<<a+b;
g.close();
}