INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Binärdatei nach .txt datei



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

09.12.2011, 11:25
Beitrag #1

Martin Heller Offline
LVF-Stammgast
***


Beiträge: 250
Registriert seit: Feb 2010

2011 SP1
2008
EN

5232
Schweiz
Binärdatei nach .txt datei
Hallo Zusammen

Kann mir jmd helfen.
Ich habe eine Binärdatei, welche mit Matlab erstellt wurde und möchte diese in Labview einlesen und dann weiter bearbeiten.
Zur Zeit wurde es mit einem .c-Code umgewandelt. Leider sind meine .c Kenntnisse sehr bescheiden.
Gibt es eine einfache Variante, um diese Datei mit Labview umzuwandeln?

mfg Martin

PS: Habe diesen Link im Forum gefunden, jedoch habe ich kein Matlab

Anhang: Decode c-File;


c-Code:
Zitat:/*this decode program works under windows - no clue if this also works under linux - i doubt so...*/
/* syntax is decode.exe xxxxx.datalog */
/* this converts the datalog file to a textfile with max 50 spotentries - so if the file containes more spots you have to change this...*/
qa

# include <stdlib.h>
# include <stdio.h>
# include <string.h>

# define BUFF 64
# define MAXNBR 64

int main( int argc, char * argv[] )
{

int i[BUFF],j,counts,lastnbr,firstnbr;
int fsize,ii[20000],q,t;
char workstr[16],str[1024];
int maxspots=50;

FILE *fd;
FILE *fout;

fd = fopen (argv[1],"r");
if (fd == NULL)
{
printf( "Error opening infile: %s\n", argv[1] );
return 0;
}

fread (&ii,20000,1,fd);
close(fd);

/*create the filename of the outputfile*/
sprintf(str,"%s_txt",argv[1]);

fout = fopen (str,"w");
if (fd == NULL)
{
printf( "Error opening outfile: %s\n", str );
return 0;
}

/*
spot presappl delay mon1dose mon2dose usum tsum uexp ucal texp tcal ufwhexp ufwhcal tfwhexp tfwhcal hexp hcal x y z range1 range2 clockungat clockantia ADG3nominal ADG3actual clkSUMgat clkSUMungat mon1SUMungat mon1SUMgat mon2SUMungat ILK-Flag Kleak_corr mon2gt dmaf1 LBinzIC dmad1l dmad1r kma3 kma5 ama1 mon1ungat mongungat guardungat mon1gtA ame1 ame2 mmac3a alpha beta beta_ex fme1L fme1R mmec1a miniStrT0 miniStrT1 miniStrT2 miniStrT3 miniStrT4 miniStrU0 miniStrU1 miniStrU2 miniStrU3 miniStrU4
*/
firstnbr=lastnbr=counts=0;

q=0;
i[0]=1;
/*write first line*/
printf("spot presappl delay mon1dose mon2dose usum tsum uexp ucal texp tcal ufwhexp ufwhcal tfwhexp tfwhcal hexp hcal x y z range1 range2 clockungat clockantia ADG3nominal ADG3actual clkSUMgat clkSUMungat mon1SUMungat mon1SUMgat mon2SUMungat ILK-Flag Kleak_corr mon2gt dmaf1 LBinzIC dmad1l dmad1r kma3 kma5 ama1 mon1ungat mongungat guardungat mon1gtA ame1 ame2 mmac3a alpha beta beta_ex fme1L fme1R mmec1a miniStrT0 miniStrT1 miniStrT2 miniStrT3 miniStrT4 miniStrU0 miniStrU1 miniStrU2 miniStrU3 miniStrU4");
fputs("spot presappl delay mon1dose mon2dose usum tsum uexp ucal texp tcal ufwhexp ufwhcal tfwhexp tfwhcal hexp hcal x y z range1 range2 clockungat clockantia ADG3nominal ADG3actual clkSUMgat clkSUMungat mon1SUMungat mon1SUMgat mon2SUMungat ILK-Flag Kleak_corr mon2gt dmaf1 LBinzIC dmad1l dmad1r kma3 kma5 ama1 mon1ungat mongungat guardungat mon1gtA ame1 ame2 mmac3a alpha beta beta_ex fme1L fme1R mmec1a miniStrT0 miniStrT1 miniStrT2 miniStrT3 miniStrT4 miniStrU0 miniStrU1 miniStrU2 miniStrU3 miniStrU4",fout);

/*while (fread (&i,4*BUFF,1,fd)) */
while (i[0]>0)
{
for (t=0;t<BUFF;t++)
{
i[t]=ii[q*BUFF+t];
}

q++;

if (i[0] > 0)
{
if (firstnbr == 0) firstnbr=i[0];

if (lastnbr <= i[0]) /*spotnumbers are always increasing! */
{
lastnbr=i[0];
counts++;
sprintf(str,"\n");
for (j=0;j<MAXNBR;j++)
{
sprintf(workstr," %d",i[j]);
strcat(str,workstr);
}
fputs(str,fout);
printf("%s",str);
}
else if (i[0] == 1) /*more than 1 field in the binary file*/
{
printf("\n%d lines, Spot %d ... Spot %d\n",counts,firstnbr,lastnbr);
lastnbr=i[0];
counts=1;
sprintf(str,"\n");
for (j=0;j<MAXNBR;j++)
{
sprintf(workstr," %d",i[j]);
strcat(str,workstr);
}
fputs(str,fout);
}
}
}

fclose(fd);
fclose(fout);

printf("\n%d lines, Spot %d ... Spot %d\n",counts,firstnbr,lastnbr);


}


Angehängte Datei(en)
0.0 .zip  MatlabDatei.zip (Größe: 4,9 KB / Downloads: 290)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Nachrichten in diesem Thema
Binärdatei nach .txt datei - Martin Heller - 09.12.2011 11:25
RE: Binärdatei nach .txt datei - Lucki - 15.12.2011, 11:07

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Binäre Datei nach Stromausfall leer M.M.H. 6 7.054 16.11.2021 12:52
Letzter Beitrag: GerdW
  UnZip - Datei schließen nach dem UnZip angry_Nameless 6 8.512 15.01.2021 13:33
Letzter Beitrag: Martin.Henz
  In Word Datei (*.doc) nach String/Zeichen/regulären Ausdruck suchen Lessy2205 10 13.103 19.03.2013 11:24
Letzter Beitrag: GerdW
  Auslesen aus Binärdatei. Hasenfuss 1 5.403 14.01.2013 19:49
Letzter Beitrag: Lucki
  Seltsame Zahlen beim Einlesen einer Binärdatei Peer 3 4.531 28.04.2011 15:43
Letzter Beitrag: Peer
  Datei nach Stichworten durchsuchen holistic 7 11.865 15.12.2010 14:39
Letzter Beitrag: Napoleon

Gehe zu: