Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: String IO in C(C++) ???  (Citit de 2102 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
fbkk
Client obisnuit
**

Karma: -13
Deconectat Deconectat

Mesaje: 72



Vezi Profilul
« : Februarie 22, 2005, 00:45:58 »

Imi datzi shi mie sugestii cum pot sa IO-ez stringuri in C (in principal file IO) ,
(acum folosesc "for"-uri shi "while"-uri ,pentru a citi/scrie stringuri din fisiere cu fscanf()/fprintf() ,pentru a trece de faptul ca aceste functii citesc pan' la ' ' _spatiu) ,
considerand ca modalitatea folosita pana acum nu mi se pare in nici un fel optima , sau facila
(prefer Java,C#,C++ e o alternativa , dar clasele fstream .... nu-mi prea inspira incredere ,considerand ca avem diferite implementari pe diferite platforme/versiuni ,unele sunt deprecated...)
, Va ROG spuneti-mi shi mie o modalitate mai buna Rolling Eyes

In conditile astea ma gandesc sa scriu in Pascal programele in care folosesc operatii extensive pe stringuri Sad Huh


                                                           Sugestii ?
                                                                        MS !!!
Memorat

No one should have to code the same thing twice !
andreich
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 3



Vezi Profilul
« Răspunde #1 : Februarie 22, 2005, 00:59:17 »

daca esti sub linux un "man fgets" te-ar lamuri ... altfel {
Cod:

#include <stdio.h>
#include <string.h>
#define FI "text.in"
#define FO "text.out"
#define MAX 4097

char linie_de_text[MAX];

void citire()
{
FILE *fin;
fin = fopen(FI,"r");
// citesti linia
// atentie ca iti pune \n la sfarsit

fgets( linie_de_text, MAX-1, fin);

// acum scapam de \n

linie_de_text[strlen(linie_de_text)-1] = 0;

fclose(fin);
}

void scrie()
{
FILE *fout;
fout = fopen(FO,"w");
fprintf(fout,"%s\n",linie_de_text);
fclose(fout);
}

int main()
{
citire();
// ...
scrie();
return 0;
}

}
Memorat

Violenta este ultimul refugiu al incompetentilor
 - undeva in Fundatia, Salvador Hardin -
wickedman
Echipa infoarena
Nu mai tace
*****

Karma: 227
Deconectat Deconectat

Mesaje: 670



Vezi Profilul WWW
« Răspunde #2 : Februarie 22, 2005, 09:51:14 »

what about \n\r ?
Memorat
fbkk
Client obisnuit
**

Karma: -13
Deconectat Deconectat

Mesaje: 72



Vezi Profilul
« Răspunde #3 : Februarie 22, 2005, 21:20:14 »

Merci mult pentru sfat (am uitat de [f]gets() lol Tongue), totusi nu inteleg ce elimini de la sfarsitul stringului (pe Windows cel putzin) stringul nu mai contine nimk la sfarsit Huh (Pe Linux n-am apucat sa testez deoarece nu mai porneshte X-ul shi pe consola abia ma loghez (intre restarturile X-ului))

S-ar putea pe Linux sa mai apara ceva la sfarshit (personal ma indoiesc), pe Win NU apare ,ai grija !!! (sa nu elimi caractere din sir)

P.S.: Daca shtie cineva cum sa (re)pornesc X-ul Linux-ului fara reinstalare ar fi perfect.
Memorat

No one should have to code the same thing twice !
greco
Nu mai tace
*****

Karma: 144
Deconectat Deconectat

Mesaje: 434



Vezi Profilul
« Răspunde #4 : Februarie 22, 2005, 23:44:48 »

Se citeste si \n ... asta era ideea... si in general nu prea folosesti \n - ul la nimic. Smile
Memorat

Jump in the cockpit and start up the engines
Remove all the wheelblocks there's no time to waste
Gathering speed as we head down the runway
Gotta get airborne before it's too late.
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines