Forum Programowanie c++, delphi Ostatnio aktywny: Nigdy
Nie zalogowany [Zaloguj ]
Pokaż koniec
Wersja do druku | Zapisz | Dodaj do Ulubionych   Wyślij nową wiadomość Sonda:
Autor: Temat: łączenie dwoch plików txt c++
przemek905
Newbie
*




Postów: 1
Zarejestrowano: 20-5-2011
Offline


[*] wysłano w 20-5-2011 o godz. 13:01 Odpowiedz cytując
łączenie dwoch plików txt c++



Witam mam do połączenia dwa pliki tekstowe. Jeden z nich zmienia sie codziennie i chodzi o dynamiczne laczenie ich i zapisywanie do trzeciego pliku.

Pierwszy plik- ten zmienny wyglada mniej wiecej tak:
(001da7b5)16/05/11 00:52:27 001001M|00/11/-/---|=2:2000=INT-IP Ethernet error code 2 (status 1 0 0x00 0x00 0x00)
(001da7b6)16/05/11 00:53:37 001001M|00/11/-/---|=2:2001=INT-IP Ethernet error code 2 (status 1 0 0x00 0x00 0x00)
(001da7b7)16/05/11 00:54:03 001001M|00/11/-/---|=4:2002=Boot event 3, status:0,0,0
(001da7b8)16/05/11 00:55:14 001001M|00/11/-/---|=2:2000=INT-IP Ethernet error code 2 (status 1 0 0x00 0x00 0x00)
(001da7b9)16/05/11 00:56:24 001001M|00/11/-/---|=2:2002=INT-IP Ethernet error code 2 (status 1 0 0x00 0x00 0x00)

i jest mi z niego potzrebna tylko data godzina i numer

natomiast drugi plik- stały wyglada tak:
2000 " Critical IO1 driver not responding"
"Failure of the IO1 driver start"
"Bad IO1 initialization owed to a software version incoherence."
"Reset of the CPU-IO1 block, unusable as it is. Cyclically, the reset might be"
"activated again, for the situation could not have changed on its own."
"Check the versions of the installed software.";
2001 " Major No identity of IO1 is coming";
2002 " Critical Not answer from the download of IO1"
"IO1 board download has failed"
"When the IO1 board appears, the telephone task requests the download of"
"the board IO1. The download takes over to ensure the download. When this"
"is over, the download sends a report of the download (OK or KO). The"
"incident appears if the telephone task receives no report from the download."
"The initialization of IO1 stops and the system cannot start."
"Check whether the download task has been executed (command ps). The incident"
"may be preceded by incident IO1 or by download (incident 2500 to 2523). Note"
"these incidents too.";

Napisalem jakis swoj programik, troche pokombinowalem naokolo i mam problem z ostatnia petla poniewaz nie jest ona wykonywana, moze ktos wpadnie na jakis pomysł?

Kod:
#include<stdio.h>
#include<conio.h>
#include<iostream>
#include<Math.h>
#include<string>
#include<fstream>
#include<cstdlib>
using namespace std;

int main(void)
{
fstream plik_dane("C:\Documents and Settings\ania\Pulpit\raport.txt",ios::out);
fstream plik("C:\Documents and Settings\ania\Pulpit\inc.txt",ios::in);
if (plik.good()==true){
cout<<"Uzyskano dostep do pliku"<<endl;}
string dane[3000],nr_alarmu[3000],opis[18000],nr_alarm[18000];
int liczba_wierszy=0,i,liczba[3000],liczba2[18000];

char cos[9999];
do {
plik.getline(cos,sizeof(cos));
liczba_wierszy++;}
while(!plik.eof());


plik.close();
fstream plik2("C:\Documents and Settings\ania\Pulpit\inc.txt",ios::in);


for(i=0;i<=liczba_wierszy;i++){

getline( plik2, dane );

}
//cout<<dane[0];
for(i=1;i<liczba_wierszy-1;i++)
{
dane.erase(84,140-84);
dane.erase(55,71-55);
dane.erase(28,51-28);
dane.erase(0,10-0);
if(dane.find("error")==string::npos)
dane.erase(22,51-22);

//cout<<dane<<endl;
}
for(i=1;i<liczba_wierszy-1;i++)
{

nr_alarmu=dane.erase(22,50-22);
nr_alarmu.erase(0,18-0);
liczba = atoi(nr_alarmu.c_str());
//plik_dane<<liczba<<endl;
//cout<<nr_alarmu<<endl;

}



fstream plik3("C:\Documents and Settings\ania\Pulpit\incbaza.txt",ios::in);

if (plik3.good()==true){
cout<<"Uzyskano dostep do pliku3"<<endl;}

float liczba_lini=0;

int j;

char coscos[999999];
do {
plik3.getline(coscos,sizeof(coscos));
liczba_lini++;}
while(!plik3.eof());

cout<<"liczba lini "<<liczba_lini<<endl;

plik3.close();
fstream plik4("C:\Documents and Settings\ania\Pulpit\incbaza.txt",ios::in);


for(j=0;j<=liczba_lini;j++){
for(j=0;j<=liczba_lini;j++){
getline( plik4, opis[j],';' );
nr_alarm[j]=opis[j];
nr_alarm[j].erase(5,4294967295-4);
liczba2[j] = atoi(nr_alarm[j].c_str());
//plik_dane<<liczba2[j]<<endl;
//plik_dane<<nr_alarm[j]<<endl;
//plik_dane<<opis[j]<<endl;
break;}break;}



for (i=1;i<liczba_wierszy;i++)

{
for (j=0;j<=liczba_lini;j++)


{
if (liczba==liczba2[j]){
//opis[j].erase(0,4-0);
plik_dane<<"dsgdsgg"<<endl;
//plik_dane<<dane<<opis[j]<<endl;
// cout<<opis[j]<<endl;
// getch();
}
break; } break;
break;}


plik2.close();
plik4.close();
plik_dane.close();


getch();
return 0;
}

Z góry wielkie dzięki
Pokaż profil użytkownika Pokaż wszystkie wiadomości użytkownika Użytkownik U2U
Wyślij nową wiadomość Sonda:


Pokaż początek

Sitemap
Copyright © 2005-2007 by coding-portal.com
Programowaniedla każdego. Programowanie w c++, java, delphi, pascal, perl oraz innych językach. Tworzenie stron w html, xhtml, php z użyciem mysql, css oraz ich pozycjonowanie. Zapraszamy do udziału w życiu naszego forum!
[zapytań: 15]
[PHP: 82.1% - SQL: 17.9%]