2012-07-26 32 views
5

Tengo problemas para escribir una cadena delimitada por tabulaciones en un archivo txt.Escribir el archivo txt delimitado por tabuladores desde C# .net

//This is the result I want:  
First line. Second line. nThird line. 

//But I'm getting this: 
First line./tSecond line./tThird line. 

A continuación es mi código donde paso la cadena que se escribe en el archivo txt:

string word1 = "FirstLine."; 
string word2 = "SecondLine."; 
string word3 = "ThirdLine."; 
string line = word1 + "/t" + word2 + "/t" + word3; 

System.IO.StreamWriter file = new System.IO.StreamWriter(fileName, true); 
file.WriteLine(line); 

file.Close(); 

Respuesta

15

Uso \t para el personaje de la pestaña. El uso de String.Format puede presentar una opción más legible:

line = string.Format("{0}\t{1}\t{2}", word1, word2, word3); 
0

uso \t no /t para la lengüeta en la cadena. por lo que la cadena de line debe ser:

string line = word1 + "\t" + word2 + "\t" + word3; 

si lo hace:

Console.WriteLine(line); 

salida sería:

FirstLine.  SecondLine.  ThirdLine. 
+0

No .. use "\ t". "\\ t" escapa de la barra ... –

+0

@EricJ., absolutamente a la derecha. No sé lo que estaba pensando – Habib

4

Para escribir un carácter de tabulación es necesario utilizar "\t". Es una barra diagonal inversa (arriba de la tecla Intro), no una barra diagonal.

Así que su código será la siguiente:

string line = word1 + "\t" + word2 + "\t" + word3; 

Por si sirve de algo, aquí hay una lista de los comunes "secuencias de escape" como "\t" = TAB:

Cuestiones relacionadas