hola<br>no entiendo por que completas de esa manera el disco elejido, probablemente no este bien.<br>fijate si no te falta el 0, al final del string.<br>ponete un  "discoelegido[i-6]=0;" antes del break, despues del for.<br>

<br>David<br><br><div class="gmail_quote">El 29 de julio de 2010 11:50, Martin Chiappero <span dir="ltr"><<a href="mailto:martinchiappero@gmail.com">martinchiappero@gmail.com</a>></span> escribió:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

Gracias Cristian, pero estoy trabajando como root, no hace falta el sudo cono seguramente sabras. de todos modos gracias por tu interes.<br>
<br>
no pongo todo porque seria eterno pero gracias a que david me dijo que si le funciono se me ocurrió probar otras cosas y descubrí que solamente no me funciona cuando /dev/hda lo traigo en una variable.<br>
Aca te pongo una buena parte y desde donde consigo esa variable a ver si le encuentran el problema.<br>
<br>
//la variable disco la traigo desde una funcion con un digito que puede ser //desde 0 a 8<br>
//El array hd contiene una lista con los discos detectados seria algo como<br>
// /dev/hda en el orden 0, /dev/hdb en el 1, etc..<br>
<br>
char discoelegido[8];<br>
<br>
switch(disco+1){<br>
    case 1:<br>
        for(i=6;i<14;i++){<br>
            discoelegido[i-6]=hd[0][i];<br>
        }<br>
        break;<br>
    case 2:<br>
        for(i=6;i<14;i++){<br>
            discoelegido[i-6]=hd[1][i];<br>
        }<br>
    break;<br>
    case 3:<br>
        for(i=6;i<14;i++){<br>
            discoelegido[i-6]=hd[2][i];<br>
        }<br>
    break;<br>
    case 4:<br>
        for(i=6;i<14;i++){<br>
            discoelegido[i-6]=hd[3][i];<br>
        }<br>
    break;<br>
    case 5:<br>
        for(i=6;i<14;i++){<br>
            discoelegido[i-6]=hd[4][i];<br>
        }<br>
    break;<br>
    case 6:<br>
        for(i=6;i<14;i++){<br>
            discoelegido[i-6]=hd[5][i];<br>
        }<br>
    break;<br>
    case 7:<br>
        for(i=6;i<14;i++){<br>
            discoelegido[i-6]=hd[6][i];<br>
        }<br>
    break;<br>
    case 8:<br>
        for(i=6;i<14;i++){<br>
            discoelegido[i-6]=hd[7][i];<br>
        }<br>
    break;<br>
    case 9:<br>
        for(i=6;i<14;i++){<br>
            discoelegido[i-6]=hd[8][i];<br>
        }<br>
    break;<br>
<div class="im">}<br>
<br>
char comando[41]="fdisk -l ";<br>
</div>char comando1[23]=" > fdisk_l_al_disco.zn";<br>
<br>
sprintf (comando,"%s%s",comando,discoelegido);//oelegido);<br>
<div class="im">sprintf (comando,"%s%s",comando,comando1);<br>
</div>system (comando);<br>
printf(comando);<br>
<br>
<br>
si le hago un printf al comando me lo muestra perfecto pero a la hora de la ejecución solo me crea el archivo fdisck_al_disco.zn en blanco, es decir, no graba los datos que entrega el comando fdisk -l.<br>
he probado todo y hasta ese punto llego bien, he probado darle un valor fijo a la variable disco elegido y de esa manera si funciona, como lo dijo david, pero con una variable sin predefinir no.<br>
<br>
Gracias por su tiempo<br>
<div><div></div><div class="h5">_______________________________________________<br>
Lista de correo Cconclase <a href="mailto:Cconclase@listas.conclase.net">Cconclase@listas.conclase.net</a><br>
<a href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net" target="_blank">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a><br>
Bajas: <a href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ" target="_blank">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br> (\__/) <br>(='.'=)This is Bunny. Copy and paste bunny into your <br>(")_(")signature to help him gain world domination. <br><br>