|
|
|
Beliebiges Textfile einlesen und in uint8 konvertieren?? |
|
| Neo85 |

Forum-Newbie
|
 |
Beiträge: 3
|
 |
|
 |
Anmeldedatum: 20.03.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 27.03.2012, 18:20
Titel: Beliebiges Textfile einlesen und in uint8 konvertieren??
|
 |
| |
 |
|
hallo,
ich würde gerne einen beliebig langen text aus einer datei einlesen und diesen text/diese daten dann in einen uint8-vektor konvertieren, weil ich die daten nachher weiterverarbeiten muss/möchte.
wenn ich das ganze hardgecoded mache, funktioniert das ganz gut (aber nur mit den ... am zeilenende?), also so (ein beliebiger text von der matlab-hilfe):
data = ['Practical purposes often demand a separation of intermediate and leaf nodes'...
' during that process. If you do that store the leaf nodes in an array of size'...
' alphabetsize-1 and fill it from left to right. Since intermediate nodes are'...
' constructed in the sequence they are used you just need two pointers;'];
data = uint8(data);
-- das funktioniert wie gesagt so wie es soll.
wenn ich nun aber einen beliebigen text aus einem .txt-file einlesen möchte und dann mittels uint8(data) konvertieren möchte, funktioniert das nicht.
ich hätte es so versucht:
data = textread('bla.txt','%s','delimiter','\n','whitespace','');
data = uint8(data);
dann bekomme ich aber eine fehlermeldung in der art:
??? Error using ==> uint8
Conversion to uint8 from cell is not possible.
was mache ich falsch oder ist es nicht möglich, aus einem beliebigen textfile einen string zu generieren? bzw. daten aus einem textfile in einen uint8-vektor zu konvertieren?
danke.
|
|
|
|
|
|
| Sirius3 |

Forum-Guru
|
 |
Beiträge: 441
|
 |
|
 |
Anmeldedatum: 11.11.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 27.03.2012, 23:11
Titel:
|
 |
Hallo Neo85,
Dein Problem ist genau das, was die Fehlermeldung sagt:
Aus einem cell-Array kann kein uint8 werden.
Dein textread erzeugt für jede Zeile einen String, der für sich alleine in uint8 umgewandelt werden kann, der Rückgabewert ist aber ein cell-Array das aus eben diesen Strings besteht.
Je nach dem was Du willst, hilft vielleicht ein
oder gleich direkt ein fread.
Grüße
Sirius
|
|
|
|
| Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 28.03.2012, 14:48
Titel: Re: Beliebiges Textfile einlesen und in uint8 konvertieren??
|
 |
Hallo Neo85,
Wie wäre es mit:
Das Problem ist, dass TEXTSCAN eine CELL zurückliefert, die wiederum einen CELL STRING enthält. Zum Einlesen eines Textes als Buchstaben-Strom ist das ein Overkill.
Gruß, Jan
|
|
|
|
| Neo85 |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 3
|
 |
|
 |
Anmeldedatum: 20.03.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 28.03.2012, 15:01
Titel:
|
 |
vielen dank für eure 2 antworten!
die lösung von jan funktioniert perfekt - genial! ich hatte fread schon versucht, jedoch den precission parameter nicht oder falsch verwendet... dabei gehts doch so einfach...!
danke!
|
|
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|