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 

fread Analogon in LabVIEW



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!

01.09.2007, 07:11
Beitrag #1

oli2007 Offline
LVF-Grünschnabel
*


Beiträge: 22
Registriert seit: Feb 2007

8.2
2005
kA

76128
Deutschland
fread Analogon in LabVIEW
Hallo zusammen,

die Beschreibung sagt es eigentlich schon. Ich möchte eine (binäre) Datei (die im Header stellenweise auch Strings enthält) auslesen. Und zwar unter Verwendung von refnum und nicht eine vorher festgelegte Anzahl von Zeichen, sondern (eben so wie fread in C auch) bis zum nächsten NewLine Character (dabei weiss ich eine maximale Anzahl von Zeichen, die zu lesen notwendig ist). Ideal wäre, wenn dann refnum hinterher auch noch an die richtige Stelle (eben nach dem ausgelesnen String) verweist... Gibt es so etwas in LabVIEW standardmässig?

Das Problem der Datei ist die Größe (viele Hundert Dateien von jeweils ~50-100 MB), daher würde ich wirklich ungern erst die ganze Datei auslesen und dann den resultierenden String analysieren...


Grüße
Oli
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
01.09.2007, 15:59
Beitrag #2

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
fread Analogon in LabVIEW
Hallo, Oli,

und wo ist da dein Problem? Die File-Refnum "steht" nach einem Lesevorgang immer genau an der Stelle, wo du das Lesen aufgehört hast.

Und wenn du in deiner Binär-Datei erst mal ein paar normale ASCII-Zeilen hast, dann lies die doch einfach per "Read from Text File" im Zeilen-Modus aus.

   

MfG, Jens

P.S.: Verstehe übrigens deinen Vergleich mit fread nicht ganz. Wenn ich danach in Google suche, dann macht diese C-Funktion genau das, was "Read from Binary File" in LabVIEW macht. Aber liest doch nicht bis zum nächsten NewlineHmm

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.09.2007, 01:43
Beitrag #3

oli2007 Offline
LVF-Grünschnabel
*


Beiträge: 22
Registriert seit: Feb 2007

8.2
2005
kA

76128
Deutschland
fread Analogon in LabVIEW
' schrieb:Und wenn du in deiner Binär-Datei erst mal ein paar normale ASCII-Zeilen hast, dann lies die doch einfach per "Read from Text File" im Zeilen-Modus aus.
P.S.: Verstehe übrigens deinen Vergleich mit fread nicht ganz. Wenn ich danach in Google suche, dann macht diese C-Funktion genau das, was "Read from Binary File" in LabVIEW macht. Aber liest doch nicht bis zum nächsten NewlineHmm

Hallo Jens,

vielen Dank, ich hab mal wieder den Wald vor lauter Bäumen nicht gesehen...
Dein Vorschlag ist perfekt, aber Funktionen die man erst mit einem Rechtsklick auf das Icon zum Leben erwecken muss, bleiben mir immer noch regelmässig verborgen, weil ich einfach nicht dran denke...Wink
Ich hatte so etwas von der Art "Scan from file" mit einem Formatstring "%[^n]n" versucht. Das zweite n soll dabei dazu führen, dass das Newline mit ausgelesen wird, irgendwie wollte LabVIEW aber nicht so, wie ich..

fread liest übrigens standardmässig wirklich nur eine Anzahl Zeichen. Wenn allerdings vor erreichen dieser Anzahl bereits ein n eingelesen wird, hört fread dann doch auf weiterzulesen.

Grüße aus dem sonnigen Kalifornien
Oli
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.09.2007, 20:22
Beitrag #4

oli2007 Offline
LVF-Grünschnabel
*


Beiträge: 22
Registriert seit: Feb 2007

8.2
2005
kA

76128
Deutschland
fread Analogon in LabVIEW
' schrieb:fread liest übrigens standardmässig wirklich nur eine Anzahl Zeichen. Wenn allerdings vor erreichen dieser Anzahl bereits ein n eingelesen wird, hört fread dann doch auf weiterzulesen.
Noch ein kleiner Nachtrag für diejenigen, die es interessiert: fread hört doch nur am eof auf zu lesen, newlines werden also ganz normales Zeichen eingelesen. Das beschriebene Verhalten trifft vielmehr auf fgets zu...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.09.2007, 15:36
Beitrag #5

rolfk Offline
LVF-Guru
*****


Beiträge: 2.303
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
fread Analogon in LabVIEW
' schrieb:Noch ein kleiner Nachtrag für diejenigen, die es interessiert: fread hört doch nur am eof auf zu lesen, newlines werden also ganz normales Zeichen eingelesen. Das beschriebene Verhalten trifft vielmehr auf fgets zu...

Danke! Dachte schon ich werde alt und senil.

Rolf Kalbermatter

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Gehe zu: