infoarena

infoarena - concursuri, probleme, evaluator, articole => Informatica => Subiect creat de: florin din Februarie 22, 2005, 00:45:58



Titlul: String IO in C(C++) ???
Scris de: florin din 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 :roll:

In conditile astea ma gandesc sa scriu in Pascal programele in care folosesc operatii extensive pe stringuri :( ???


                                                           Sugestii ?
                                                                        MS !!!


Titlul: IO in C [stringuri]
Scris de: Andrei Chirila din 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;
}

}


Titlul: String IO in C(C++) ???
Scris de: Cristian Strat din Februarie 22, 2005, 09:51:14
what about \n\r ?


Titlul: String IO in C(C++) ???
Scris de: florin din Februarie 22, 2005, 21:20:14
Merci mult pentru sfat (am uitat de [f]gets() lol :P), totusi nu inteleg ce elimini de la sfarsitul stringului (pe Windows cel putzin) stringul nu mai contine nimk la sfarsit ??? (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.


Titlul: String IO in C(C++) ???
Scris de: Tiberiu-Lucian Florea din Februarie 22, 2005, 23:44:48
Se citeste si \n ... asta era ideea... si in general nu prea folosesti \n - ul la nimic. :)