WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Problem mit fseek Befehl

 

Soulcube
Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 28.01.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.01.2014, 11:19     Titel: Problem mit fseek Befehl
  Antworten mit Zitat      
Hallo,
ich arbeite mit einem Script um .arf Dateien umzuwandeln. Bis Freitag ging auch alles. Nur seid gestern funktioniert es auf einmal nicht mehr
Code:
pfad='F:\Localization\Tier 2\';
type='Click0°.arf';
path =sprintf('%s%s%s', pfad,type);
%%open file
% originpath = 'J:\test\Cav2.3\';
% mouse= 'Mouse 345 WT';
% week= '\Week 40\14.10.2013\';
% type='Clicks.arf';
% path =sprintf('%s%s%s%s', originpath,mouse,week,type);
fid = fopen(path,'r');
%seek to the beginning
fseek(fid,0,'bof');


Als Fehlermeldung bekomme ich dann :
??? Error using ==> fseek
Invalid file identifier. Use fopen to generate a valid file identifier.

Error in ==> arf_extract_RZ at 18
fseek(fid,0,'bof');
Private Nachricht senden Benutzer-Profile anzeigen


Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 28.01.2014, 11:43     Titel:
  Antworten mit Zitat      
du überschreibst bei dir gleich 2 matlab interne variablen. das ist nicht sehr gut. außerdem sollte man um sowas zu generieren
Code:
nehmen.
was hast du denn seit gestern geändert das es nicht mehr geht ? Smile
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
Soulcube
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 28.01.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.01.2014, 11:48     Titel:
  Antworten mit Zitat      
Das schlimme ist das ich gar nichts geändert habe und deswegen umso ratloser bin.
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 28.01.2014, 11:50     Titel:
  Antworten mit Zitat      
programme ändern ihr verhalten in den seltensten fällen spontan.
bist du sicher das du nicht in einem anderen programm andere matlab interne befehle überschrieben hast ? ^^ hast du dir von fopen mal die errmsg zurückgeben lassen?
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
Soulcube
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 28.01.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.01.2014, 11:53     Titel:
  Antworten mit Zitat      
So ziemlich. Ich benutze den Rechner nur nicht alleine, also kann ich mir nicht 100% sicher sein

Benutze
Code:

am Anfang des scripts extra
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 28.01.2014, 12:06     Titel:
  Antworten mit Zitat      
Soulcube hat Folgendes geschrieben:
So ziemlich. Ich benutze den Rechner nur nicht alleine, also kann ich mir nicht 100% sicher sein

Benutze
Code:

am Anfang des scripts extra

das ist nicht sehr gut
warum wurde hier im forum schon oft besprochen.
Winkow hat Folgendes geschrieben:
hast du dir von fopen mal die errmsg zurückgeben lassen?

_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
Soulcube
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 28.01.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.01.2014, 14:02     Titel:
  Antworten mit Zitat      
Oh,
überlesen. Ja so habe ich den Befehl im Studium gelernt.

Code:
errmsg =

No such file or directory


Aber der Pfad der mir im Workspace angezeigt wird ist genau der, wo die Daten liegen.
Private Nachricht senden Benutzer-Profile anzeigen
 
Sirius3
Forum-Guru

Forum-Guru


Beiträge: 441
Anmeldedatum: 12.11.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.01.2014, 19:52     Titel:
  Antworten mit Zitat      
was soll denn dieses dritte '%s'?
Private Nachricht senden Benutzer-Profile anzeigen
 
Soulcube
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 28.01.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.01.2014, 20:19     Titel:
  Antworten mit Zitat      
Verdammt, garnicht gemerkt das ich eins zuviel habe . Ändert aber an dem Fehler leider nichts.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 28.01.2014, 21:35     Titel:
  Antworten mit Zitat      
Hallo,

mir ist kein Fall bekannt, in dem ein Computer bei derselben Befehlsfolge etwas unterschiedliches macht, außer
- die Voraussetzungen sind anders (z.B. Datei verschoben oder anderer Laufwerksbuchstabe, Laufwerk nicht zugänglich)
- der Code enthält Befehle zur Erzeugung von Zufallszahlen.

Vorschläge:
- Entferne zumindest das 'all' aus dem clear-Befehl. Leider ist nicht alles, was man im Studium lernt, wirklich sinnvoll.
- Schreibe den Code so um, dass keine Funktionen mehr überlagert werden.
- Gib den Dateinamen mal direkt als String an.
- Benenne die Datei mal um (und entferne Sonderzeichen daraus)

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 29.01.2014, 21:18     Titel: Re: Problem mit fseek Befehl
  Antworten mit Zitat      
Hallo Soulcube,

FOPEN sollte unbedingt immer und auf jeden Fall begleitet sein von einem Test auf Erfolg:
Code:
pathname = 'F:\Localization\Tier 2\';
filename = 'Click0°.arf';
file = fullfile(pathname, filename);
fid = fopen(file, 'r');
if fid == -1
  error('MyCode:Function:FOpenFailed', ...
           'Cannot open file for reading: %s', file);
end
fseek(fid,0,'bof');

Wenn das File nicht zum Lesen geöffnet werden kann, existiert es nicht oder es liegt in einem Ordner, auf den der aktuelle Benutzer keinen Zugriff hat:
Code:
exist(file, 'file')

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.