Domanda

Uno dei miei utenti ha chiesto perché la mia app non supporta punti e virgola nei nomi dei file. Ho fatto un passo attraverso il mio codice, sembra funzione Windows GetOpenFileName tronca qualsiasi nome di file che contiene un punto e virgola. per esempio. . "One; two.wav" -> "uno"

Microsoft dice due punti non sono ammessi, ma non menzionano punti e virgola ...

http://msdn.microsoft.com/en -us / library / aa365247 (VS.85) aspx

Sono legali oppure no?

EDIT:? ..E come GetOpenFileName () per il lavoro con un punto e virgola in nome di file

OH !, Strano - Nome del file è corretto, ad eccezione di 'scorrere' verso sinistra. Quindi, "uno; two.wav" si presenta come "two.wav" fino a che non clic su di esso e premere il tasto freccia sinistra (allora va bene). Quindi non è un bug, come, un comportamento tale solo strano.

È stato utile?

Soluzione

virgola sono legali in percorsi di file NTFS .

  

Utilizzare qualsiasi carattere nella tabella codici corrente per un nome, compresi i caratteri Unicode e caratteri nel set di caratteri esteso (128-255), fatta eccezione per il seguente:

     

I seguenti caratteri riservati:

     
      
  • <(inferiore a)
  •   
  •     

    (maggiore di)

      
  •   
  • : (due punti)
  •   
  • "(virgolette)
  •   
  • / (barra)
  •   
  • \ (backslash)
  •   
  • | (Barra verticale o pipe)
  •   
  • ? (Punto interrogativo)
  •   
  • (asterisco)
  •   
  • valore intero pari a zero, a volte indicato come il carattere ASCII NUL.
  •   
  • Caratteri cui intero rappresentazioni sono nell'intervallo da 1 a 31, tranne per flussi alternativi dove sono consentiti questi caratteri.
  •   
  • Qualsiasi altro carattere che il file system di destinazione non consente.
  •   

Sono in grado di aggiungere un punto e virgola per i nomi dei file sul mio sistema Win7. Guarda il codice, probabilmente il vostro o codice di terze parti, che fa cose strane con caratteri non previsti (in particolare gli spazi).

Altri suggerimenti

Anche se può essere omesso nei manuali di Windows, il punto e virgola è un carattere riservato anche, ad esempio, "dir .dat; .bak" è un comando legale. Lo stesso vale per il più carattere, ad esempio "Copia test1.dat + test2.dat test3.dat" è un comando legale.

È vero: Windows consente un punto e virgola nei nomi di file. Ma quando si bruciano tali file su un CD o DVD di dati, i nomi vengono troncati. Questo ho sperimentato quando si utilizza Ahead Nero versione 9.

Sì, essi sono autorizzati. Solo che se li sta eseguendo nella riga di comando si deve mettere le citazioni al loro interno.

Sì. Un punto e virgola è un personaggio legale in un file di nome-di Windows. Non mi sorprende, però, se ci fossero altri programmi che hanno avuto un problema con loro.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top