taapati ([info]taapati) rakstīja [info]koderi kopienā,
@ 2005-05-26 17:25:00

Previous Entry  Add to memories!  Tell a Friend!  Next Entry
help!
kaapeec shis te nestraadaa???

#include
#include
using namespace std;
fstream f,f2;
int main(){
char s[31];
f.open ("f.txt", ios::in|ios::out|ios::binary);
while(!(f.eof())){
f.read(s,30);};
f.seekp(0, ios::end);
cin>>s;
f.write(s,30);
f.close();
return 0;};


nepareizo paarkopeeju, tagad pielaboju.

paldies par paliidziibu! :))) probleema bija tur, ka vajadzeeja f.clear() peec f.eof izmantoshanas :)


(Ierakstīt jaunu komentāru)


[info]elfz
2005-05-26 17:34 (saite)
Un ko hipotētiski tu vēlētos, lai tas dara?

(Atbildēt uz šo) (Diskusija)


[info]taapati
2005-05-26 17:37 (saite)
pagaidaam neko lielu.. (tas ir izraavums no gaaaras progas.. tjip dalja, kas nestraadaa).. gribu, lai shii proga ieraxta komponenshu failaa vienu vaardu.. :)

(Atbildēt uz šo) (Iepriekšējais) (Diskusija)


[info]barvins
2005-05-26 17:47 (saite)
Nolasa pēdējo vārdu, pēc tam ieraksta atpakaļ tajā pašā failā...

(Atbildēt uz šo) (Iepriekšējais) (Diskusija)


[info]taapati
2005-05-26 17:54 (saite)
tur jau taa probleema, ka taa proga neieraxta failaa... es nezinu, kaapeec, bet nolasa normaali, bet neieraxta neko.. :(

(Atbildēt uz šo) (Iepriekšējais) (Diskusija)


[info]barvins
2005-05-26 18:44 (saite)
Vells viņu zina. Varbūt ar šo rindu kaut kas nav kārībā: f.seekp(0, ios::end);

(Atbildēt uz šo) (Iepriekšējais) (Diskusija)


[info]taapati
2005-05-26 18:49 (saite)
noteikti zinu, ka shii rinda straadaa (vismaz ja izkomentee while ciklu), taa ir vajadziiga, lai raxtiitu faila beigaas. es nesaprotu, kaapeec shis viss kopaa nestraadaa..

varbuut ir idejas, kaa to apiet?

(Atbildēt uz šo) (Iepriekšējais) (Diskusija)


[info]barvins
2005-05-26 18:53 (saite)
Varbūt ir problēma ir saistīta ar to, ka fails ir vienlaicīgi atvērts gan lasīšanai gan rakstīšanai, nez...

(Atbildēt uz šo) (Iepriekšējais) (Diskusija)


[info]taapati
2005-05-26 18:57 (saite)
meegjinaaju to mainiit.. tik un taa neiet.. :( nu, paldies, ka centies paliidzeet..

(Atbildēt uz šo) (Iepriekšējais) (Diskusija)


[info]barvins
2005-05-26 19:02 (saite)
Hmm, bet toč nolasa normāli? Tur gadījumā nevajag šitā?

do
{
f.read(s,30);
}while(!(f.eof()))

(Atbildēt uz šo) (Iepriekšējais) (Diskusija)


[info]taapati
2005-05-26 19:05 (saite)
shaadi buutu probleema ar tukshu failu.. un vispaar nolasa normaali manaa variantaa :)

lielaa probleema laikam ir tur, ka peec cikla ar !(f.eof()) to failu vairs nevar lietot.. varbuut ir kaada ideja, kaa veel noteikt faila beigas bez eof?

(Atbildēt uz šo) (Iepriekšējais) (Diskusija)


[info]barvins
2005-05-26 19:16 (saite)
Moš paprovē šitā:

if(!f.eof())
{
do
{
f.read(s,30);
}while(!(f.eof()))
}

Vai arī vari darīt tā, ka atver un aizver failu divas reizes, pirmo reizi lai nolasītu, otro reizi lai ierakstītu.
Kaut kā tā:
open (for read)
read
close
open (for write)
write
close

(Atbildēt uz šo) (Iepriekšējais) (Diskusija)


[info]taapati
2005-05-26 19:22 (saite)
tiko izmeegjinaaju pirmo variantu.. tik un taa nestraadaa.. :( otro meegjinaaju jau ieprieksh, un arii neiet.. taapeec jau esmu tik dranjkjiigaa noskanjojumaa, ka nekas nekaa nesanaak.. :(

(Atbildēt uz šo) (Iepriekšējais) (Diskusija)


[info]barvins
2005-05-26 19:37 (saite)
Hmm. Varbūt cin>>s kaut ko nelabu izdara ar s?

(Atbildēt uz šo) (Iepriekšējais) (Diskusija)


[info]taapati
2005-05-26 19:43 (saite)
man tiko pateica, kur ir probleema - vajadzeeja f.clear() peec f.eof izmantoshanas.. paldies par censhanos paliidzeet! :)))

(Atbildēt uz šo) (Iepriekšējais) (Diskusija)


[info]barvins
2005-05-26 19:47 (saite)
Ha;) Mūždien uzjautrinos par c++ cimperlīgajām bibliotēkām.
Nav jau grūti censties, tā, drīzāk, izklaide:)

(Atbildēt uz šo) (Iepriekšējais) (Diskusija)


[info]taapati
2005-05-26 19:54 (saite)
njaa.. man gan tas c++ pa sho gadu ir paguvis taa apriebties.. aarpraac.. tagad veel jaatiek ar citiem gljukiem galaa.. heh:)

(Atbildēt uz šo) (Iepriekšējais)


[info]skalpelis
2005-05-26 19:23 (saite)
ē, nu skaties:
while (!(f.eof()))
{
	f.read(s, 30); <- šeit lasa no faila to ko vajag, tikmēr, kamēr sasniegtas faila beigas.
}
f.seekp(0, ios::end); <- te noliek pointeri uz beigām (kur tas jau ir)
cin >> s; <- te mainīgajā, kurā iekšā ir no faila nolasītais teksts, ielasa inputu no lietotāja (wtf?)
f.write(s, 30); <- te ieraksta lietotāja inputu(!) failā
tā rindiņa ar "wtf?" ir acīmredzami lieka, ja vien tu faila nevēlies ierakstīt to, ko ievada lietotājs. Bet tādā gadījumā arī tu nemēģinātu ielasīt visu pārējo faila saturu.
bez tam, tā kā tas cikls jau tā aiziet līdz faila beigām, nav nepieciešams seekp(), ibo tu jau esi faila beigās. tā kā tas, visdrīzāk, arī ir lieks.
minēšu - LU FMF, PSP-1 "Programmētājs", vai ne?

(Atbildēt uz šo) (Iepriekšējais) (Diskusija)


[info]taapati
2005-05-26 19:26 (saite)
datorzinaatnes, ne programmeetaajs.
"f.write(s, 30); <- te ieraksta lietotāja inputu(!) failā" <-- tur jau taa probleema, ka neieraxta.. vienkaarshi njem un neieraxta :(((

/*pati proga ir garaaka, man vienkaarshi saakumaa viss ir jaanolasa un jaaapstraadaa (to es jums iznjeemu aaraa, jo tas straadaa), tad veelaak lietotaajs var pielikt klaat datus*/

(Atbildēt uz šo) (Iepriekšējais) (Diskusija)


[info]skalpelis
2005-05-26 19:39 (saite)
labi, pamēģini
f.close();
f.open("f.txt", ios::out|ios::app|ios::binary);
f.write(s, 30);
f.close();
, ja nestrādā, ieliec cout<

(Atbildēt uz šo) (Iepriekšējais) (Diskusija)


[info]taapati
2005-05-26 19:42 (saite)
man tiko pateica, kur ir probleema - vajadzeeja f.clear() peec f.eof izmantoshanas.. paldies par censhanos paliidzeet! :)))

(Atbildēt uz šo) (Iepriekšējais)


[info]wasted
2005-05-26 21:12 (saite)
nu, nezinu gan, vai tā bija problēma. :) personīgi man nav skaidrs, kam īsti paredzētas divas trešdaļas koda. neapgalvoju, bet vai šis nebūtu loģiskāk?

int main()
{
  ofstream fails("whatever.txt", ios::app);
  char buferis[ 30 ];

  cin >> buferis;
  fails << buferis << endl;
  fails.close();

  return 0;
}

(Atbildēt uz šo) (Diskusija)


[info]taapati
2005-05-26 21:16 (saite)
taa bija taa probleema.. tas augshupieraxtiitais fails ir vienk. smagi apgraiziic, patiesiibaa proga ir daudz, daudz garaaka.. taa ka Tavs varianc tur neder... ;)~

(Atbildēt uz šo) (Iepriekšējais) (Diskusija)


[info]wasted
2005-05-26 21:24 (saite)
nē, nu nav jau gluži tā, ka iepeistojot derēs :) vienkārši aiztaupi pasniedzējai(-am) smieklu lēkmi ;)

(Atbildēt uz šo) (Iepriekšējais) (Diskusija)


[info]taapati
2005-05-26 21:32 (saite)
:) tik un taa tur ir vajadziigs cikls ar !eof.. heh.. nu buus labi!;)

(Atbildēt uz šo) (Iepriekšējais)


Neesi iežurnalējies. Iežurnalēties?