Forum » Programiranje » C++ problem/naloga
C++ problem/naloga
Monster ::
ja tak je mam eno datoteko, ki zgleda takole
besedilo#b,2,10
ok razlaga
prbvi del je besedilo pol je # ločitveni znak naprej so lastnosti vključno z lojtro..
zdej bi pa rad da iz tele ene datoteke nastanejo dve datoeki in sicer v eno piše samo besedilo v drugi pa lastnosti(#lastnosti)...
besedilo#b,2,10
ok razlaga
prbvi del je besedilo pol je # ločitveni znak naprej so lastnosti vključno z lojtro..
zdej bi pa rad da iz tele ene datoteke nastanejo dve datoeki in sicer v eno piše samo besedilo v drugi pa lastnosti(#lastnosti)...
Ka zaboga...
wintermute ::
#include <fstream>
#include <string>
using namespace std;
int main()
{
ifstream input("input.txt");
ofstream besedilo("besedilo.txt");
ofstream lastnosti("lastnosti.txt");
string temp;
if (getline(input, temp, '#'))
{
besedilo << temp;
if (getline(input, temp)) lastnosti << temp;
}
}
Monster ::
ja dela super sm neki bi še rad vedu. Jest mam tule veliko takihle vrstic ne tale program pa prebere le eno.. dej mi še lahk to popraviš?
Ka zaboga...
DeViCeD ::
Eko ti se delujoca verzija v C-ju ...
---
#include <stdio.h> /* Standardne zadeve */
#include <strings.h> /* Za manipulacijo stringov ... */
/* Tukaj spremeni imena datotek ... */
#define IN_DATOTEKA "test"
#define PRVA_DATOTEKA "first"
#define DRUGA_DATOTEKA "second"
int main(){
char buffy[1024]; /* To bo nas glavni buffer */
char *p; /* Pointer na drugi del bufferja */
/* Kazalci na "datoteke" */
FILE *fp, *first, *second;
/* Odpremo datoteke ... */
fp = fopen(IN_DATOTEKA, "rt");
first = fopen(PRVA_DATOTEKA, "wt");
second = fopen(DRUGA_DATOTEKA, "wt");
/* first pa second se bodo prepisale ... */
/* Dokler ne pridemo do EOF ...*/
while (!feof(fp)){
/* Dobimo buffy ... */
if ((fgets(buffy, 1024, fp)) != NULL){
/* Damo stran '\n' (New line znakec) ..*/
buffy[strlen(buffy) - 1] = '';
/* Razdelimo bufer na dva dela */
strtok(buffy, "#");
/* Tukaj castamo pointer, zato da nam kompiler ne tezi ... (Vsaj pod Linuxom ))
p = (char *) strtok(NULL, "#");
/* Spravimo zadevo v datoteko */
fprintf(first, "%s\n", buffy);
fprintf(second, "#%s\n", p);
}
}
/* Zapremo vse ... */
close(fp);
close(first);
close(second);
/* BBye :-) */
}
Datoteka kjer so vnosi narejeni, mora met na konc eno prazno vrstico ... ce ne bodo problemi se mi zdi :-)
Drugac pa ni nc error checkinga .. tko da .. :-)
P.S. tist "\\n" vzemi en slash vn
Lp,
Dejan
---
#include <stdio.h> /* Standardne zadeve */
#include <strings.h> /* Za manipulacijo stringov ... */
/* Tukaj spremeni imena datotek ... */
#define IN_DATOTEKA "test"
#define PRVA_DATOTEKA "first"
#define DRUGA_DATOTEKA "second"
int main(){
char buffy[1024]; /* To bo nas glavni buffer */
char *p; /* Pointer na drugi del bufferja */
/* Kazalci na "datoteke" */
FILE *fp, *first, *second;
/* Odpremo datoteke ... */
fp = fopen(IN_DATOTEKA, "rt");
first = fopen(PRVA_DATOTEKA, "wt");
second = fopen(DRUGA_DATOTEKA, "wt");
/* first pa second se bodo prepisale ... */
/* Dokler ne pridemo do EOF ...*/
while (!feof(fp)){
/* Dobimo buffy ... */
if ((fgets(buffy, 1024, fp)) != NULL){
/* Damo stran '\n' (New line znakec) ..*/
buffy[strlen(buffy) - 1] = '';
/* Razdelimo bufer na dva dela */
strtok(buffy, "#");
/* Tukaj castamo pointer, zato da nam kompiler ne tezi ... (Vsaj pod Linuxom ))
p = (char *) strtok(NULL, "#");
/* Spravimo zadevo v datoteko */
fprintf(first, "%s\n", buffy);
fprintf(second, "#%s\n", p);
}
}
/* Zapremo vse ... */
close(fp);
close(first);
close(second);
/* BBye :-) */
}
Datoteka kjer so vnosi narejeni, mora met na konc eno prazno vrstico ... ce ne bodo problemi se mi zdi :-)
Drugac pa ni nc error checkinga .. tko da .. :-)
P.S. tist "\\n" vzemi en slash vn
Lp,
Dejan
So, if I press C, E and G I play C?
Monster ::
ja hvala ne da si se potrudo sm ko mi ne dela(sm spremenu imen datotek)...Ka ni finta sm v tem da dam vseskup v tole zanko..
while (!EOF(input))
{
//pač neki
}
while (!EOF(input))
{
//pač neki
}
Ka zaboga...
DeViCeD ::
Verjetno je bil kaksen problem pri parsanju ...
Tle mas, 100% delujoco verzijo, ce ne pa povej natancno kaj ne dela ..
Tle mas, 100% delujoco verzijo, ce ne pa povej natancno kaj ne dela ..
So, if I press C, E and G I play C?
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [C] Branje iz datotekeOddelek: Programiranje | 1716 (1547) | BigWhale |
» | [C] čuden izpis iz txt dat. na zaslonOddelek: Programiranje | 1664 (1401) | l0g1t3ch |
» | [ C ] floating point not loaded !!?Oddelek: Programiranje | 1554 (1487) | Fizikalko |
» | c++ datotekeOddelek: Programiranje | 4039 (3528) | Vesoljc |
» | Kako bi izbrisal vrstico v neki datotekiOddelek: Programiranje | 1124 (1001) | DMouse |