Allora puoi fare in questo modo (se ho intuito bene, devi usare delle stringhe stile C):
private void WriteCString(TextWriter writer, string var, int cSize)
{
//Se necessario, taglia la stringa
if (var.Length >= cSize)
var = var.Substring(0, cSize-1);
//Scrive la stringa
writer.Write(var);
//Scrive i caratteri NULL di fill e terminazione delle stringhe C
for (int i = var.Length; i < cSize; i++)
{
writer.Write('\0');
}
}
private void button1_Click(object sender, EventArgs e)
{
Struttura struttura = new Struttura();
struttura.nome = "MioNome";
struttura.cognome = "MioCognome";
struttura.indirizzo = "MioIndirizzo";
using (StreamWriter writer = new StreamWriter(@"C:\file.txt"))
{
WriteCString(writer, struttura.nome, 20);
WriteCString(writer, struttura.cognome, 20);
WriteCString(writer, struttura.indirizzo, 40);
}
}
Luca