Salve sono nuovo del forum e siccome sono alle prime armi con la progrommazione vorrei chiedere
se c'è qualcuno che possa aiutarmi con la conversione di queste 2 funzioni scritte in C++ in C
grazie in anticipo.
---
int conta_righe()
{
fstream file;
string s;
int contarighe=0;
file.open("Listino.txt",ios::in);
if(file)
{
while(!file.eof())
{
getline(file,s,'\n');
contarighe++;
}
}
else
cout <<"Il FILE Listino.txt non esiste"<<endl;
file.close();
return contarighe-1;
----
int lineaK(int k)
{
int x=0;
ifstream read("Listino.txt",ios::in);
if (!read)
cout <<"Impossibile aprire il FILE Listino.txt!."<<endl;
else
{
for (int i=0;i<=k;i++)
getline(read,linea,'\n');
read.close();
// cout <<"ECCO LA LINEA K"<<endl;
// cout << linea << endl;
for (int i=0;i<=59;i++)
{
vet[i]=linea[i];
}
/* cout <<"STRINGA DI CHAR"<<endl;
for (int i=0;i<=60;i++)
cout<<vet[i];
cout<<"\n"; */
do
{
cout <<"Inserisci '1' per modificare il nome"<<endl;
cout <<"Inserisci '2' per modificare la marca"<<endl;
cout <<"Inserisci '3' per modificare il prezzo"<<endl;
cout <<"Inserisci '4' per modificare la quantita'"<<endl;
cin >> opz;
}
while(opz>=5);
cout <<"Inserisci il campo modificato"<<endl;
cin.sync();
getline (cin,modifica);
modifica.resize(20);
switch(opz)
{
case 1:
for (int i=5;i<=24;i++)
{
vet[i]=modifica[x];
x++;
}
break;
case 2:
for (int i=25;i<=44;i++)
{
vet[i]=modifica[x];
x++;
}
break;
case 3:
for (int i=45;i<=54;i++)
{
vet[i]=modifica[x];
x++;
}
break;
case 4:
for (int i=55;i<=59;i++)
{
vet[i]=modifica[x];
x++;
}
break;
}
for (int i=0;i<=58;i++)
{
if (vet[i]=='\0')
vet[i]=' ';
}
/* cout <<"ECCO IL CHAR MODIFICATO"<<endl;
for (int i=0;i<=58;i++)
cout<<vet[i]; */
vet[59]='\0';
cout <<"\n";
// cout <<"ECCO LA STRINGA INTERA MODIFICATA"<<endl;
mod=vet;
// cout << mod << endl;
fstream r_w("Listino.txt",ios::in | ios:ut);
for (int i=1;i<=k;i++)
getline(r_w,linea,'\n');
// int w=conta_righe(); //tolto e messo prima de main
r_w.seekp(k-w,ios_base::cur);
r_w << mod;
r_w.close();
}
}