Author Topic: Process terminated with status -1073741819 (0 minutes, 6 seconds)  (Read 12446 times)

Austrian

  • Guest
Hi all

here is my problem:

I tried to write a simple console application to re-format some simple lines of text. These lines are quite simmilar, for example:
thats what they look like:

M  Z4.3.1_Z Dist 69.53 70.00 0.10 -0.10 -0.47 -0.37
M  Z4.3.2_Z Dist 69.71 70.00 0.10 -0.10 -0.29 -0.19
M  Z4.3.3_Z Dist 69.69 70.00 0.10 -0.10 -0.31 -0.21
M  Z4.3.4_Z Dist 69.62 70.00 0.10 -0.10 -0.38 -0.28

and thats what a want to get:

Mass Z4.3.1_Z Soll:  70.00 +0.10/-0.10 Ist:  69.53
Mass Z4.3.2_Z Soll:  70.00 +0.10/-0.10 Ist:  69.71
Mass Z4.3.3_Z Soll:  70.00 +0.10/-0.10 Ist:  69.69
Mass Z4.3.4_Z Soll:  70.00 +0.10/-0.10 Ist:  69.62

i just want to save the upper example and get the lower in another txt file.

the problem is: either Windows or Code::Blocks terminates the process because of an memory exception.
It tells me following:
"The assignment in "0x00401522" directs on memory in "0x00672128". The action "written" could not be  executed on/in the memory"
sorry for the wacky translation, but the original text is in german and says:
"Die Anweisung in "0x00401522" verweist auf Speicher in "0c00672128". Der Vorgang "written" konnte nicht auf dem Speicher durchgeführt werden."

then the error window asks me if i want to debug or terminate the program.

back in the CB window there is following in the Build LOG: Process terminated with status -1073741819 (0 minutes, 6 seconds)

now here comes the code (its a bit crappy but it will do fine for me, or at least i hope so; i'm also quite new to cpp and CB so i tried my best to avoid mistakes, but there are some passages i wrote like i used to do in C; it's simply a little bit complicatet   :?)

Code
/*
Geschrieben in Code::Blocks
*/

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<string>
#include<fstream>
#include<iostream>

using namespace std;

struct format
{
private:


public:
int i, j, k;
int leercount, LFcount, zaehler;
string aufbereitet, formatiert;
string a, b, c, d, e;
};


int main()
{
struct format X;

ifstream lesen;
ofstream schreiben;

//Aufbereiten
X.leercount=0;

lesen.open("Eingabe.txt");
while(!lesen.eof())
{
X.aufbereitet[X.i]=lesen.get();
X.i++;
if(X.aufbereitet[X.i-1]==32)
{
X.aufbereitet[X.i]=lesen.get();
while(X.aufbereitet[X.i]==32)
{
if(X.aufbereitet[X.i]==32)
X.aufbereitet[X.i]=lesen.get();
}
X.leercount++;
X.i++;
}
if(X.aufbereitet[X.i-1]==10)
{
X.aufbereitet[X.i]=lesen.get();
while(X.aufbereitet[X.i]==10)
{
if(X.aufbereitet[X.i]==10)
{
X.aufbereitet[X.i]=lesen.get();
}
}
X.LFcount++;
X.i++;

}
}

//Kontrolle der Zählvariablen
printf("\nKontrolle 1:\nZeilenumbrueche: %d\nLeerzeichen: %d",X.LFcount,X.leercount);
getch();

//Neuzuordnen und Umformatieren der Daten

while(X.zaehler<X.LFcount)
{
X.i=0;
X.j=0;

if(X.aufbereitet[X.i]==32)
X.leercount++;



if(X.leercount==1+(X.zaehler*8))
{
X.i++;
while(X.aufbereitet[X.i]!=32);
{
X.a[X.j]=X.aufbereitet[X.i];
X.i++;
X.j++;
}
}

if(X.leercount==3+(X.zaehler*8))
{
X.i++;
while(X.aufbereitet[X.i]!=32);
{
X.b[X.j]=X.aufbereitet[X.i];
X.i++;
X.j++;
}
}

if(X.leercount==4+(X.zaehler*8))
{
X.i++;
while(X.aufbereitet[X.i]!=32);
{
X.c[X.j]=X.aufbereitet[X.i];
X.i++;
X.j++;
}
}

if(X.leercount==5+(X.zaehler*8))
{
X.i++;
while(X.aufbereitet[X.i]!=32);
{
X.d[X.j]=X.aufbereitet[X.i];
X.i++;
X.j++;
}
}

if(X.leercount==6+(X.zaehler*8))
{
X.i++;
while(X.aufbereitet[X.i]!=32);
{
X.e[X.j]=X.aufbereitet[X.i];
X.i++;
X.j++;
}
}
X.i++;


        X.formatiert += ("Mass %s Soll: %s %s/%s Ist: %s\n",X.a,X.b,X.c,X.d,X.e);

X.zaehler++;
}




schreiben.open("Ausgabe.txt");
schreiben << X.formatiert;
schreiben.close();



return 0;
}

I hope someone heare can help me, becaue i need this program ASAP

Thanks for reading my problem and maybe for helping me!!! :D

Offline Jenna

  • Administrator
  • Lives here!
  • *****
  • Posts: 7255
Re: Process terminated with status -1073741819 (0 minutes, 6 seconds)
« Reply #1 on: August 11, 2010, 09:20:17 am »
There is only one thing related to C::B in your post.
You should know where the executable of your program is created and make sure that "Eingabe.txt" canbe found by your program.
See in "Project -> Properties -> Build targets -> Output file name" where the executable goes to.

All other things are not related to C::B and therefore violating oour forum rules.

This is not a general programming forum/site.

Please ask in an appropriate forum to find a solution.
Or better debug the program and find it yourself, you will surely learn more by doing so.