Tud'a Monte http://www.tudamonte.com/phpBB/ |
|
[ Programação ] C# http://www.tudamonte.com/phpBB/viewtopic.php?f=3&t=143 |
Page 1 of 2 |
Author: | G3nn [ 10 Mar 2009, 20:00 ] |
Post subject: | [ Programação ] C# |
preciso aqui de uma pequena ajuda em C#... ![]() Spoiler: show Spoiler: show Spoiler: show o ficheiro tabela.dat tem lá escrito o seguinte: Quote: Benfica 0 0 0 0 Sporting 1 2 3 4 Guimarães 0 0 0 0 pergunta: pq é q no main quando eu chamo as funções LER_TABELA_DO_FICHEIRO() e a MOSTRA_EQUIPAS(n), o resultado é... Quote: Benfica 0 0 0 0 0 0 0 0 Sporting 1 2 3 4 1 2 3 4 Guimarães 0 0 0 0 0 0 0 0 ...? ![]() meti as funções dentro dos spoilers para ser mais fácil a leitura ![]() |
Author: | wodahSShadow [ 10 Mar 2009, 20:06 ] |
Post subject: | Re: [ Programação ] C# |
Tens de mudar a cor no spoiler, branco no branco... |
Author: | G3nn [ 10 Mar 2009, 20:29 ] |
Post subject: | Re: [ Programação ] C# |
Spoiler: show Spoiler: show Spoiler: show então e agr? é q na 4poziom ñ me aparece branco no branco... ![]() |
Author: | CerebroHelado [ 10 Mar 2009, 23:17 ] |
Post subject: | Re: [ Programação ] C# |
Isso é C, não é C#. Uma das coisa que vejo é que o fscanf não "limpa" a quebra de linha nas linhas com os números. Substitui: Quote: fscanf(fp, "%d %d %d %d", &(e.n_jogos), &(e.g_m), &(e.g_s), &(e.pontos)); por Quote: fscanf(fp, "%d %d %d %d\n", &(e.n_jogos), &(e.g_m), &(e.g_s), &(e.pontos)); EDIT: No LE_TABELA tens: Quote: e.nome[strlen(e.nome - 1)] = 0; , quando devia ser Quote: e.nome[strlen(e.nome) -1] = 0; 2nd EDIT: Finalmente no MOSTRA_EQUIPAS tens: Quote: printf("%s%d %d %d %d\n", Tabela[i].nome, Tabela[i].n_jogos, Tabela[i].g_m, Tabela[i].g_s, Tabela[i].pontos); , devias pôr uma quebra de linha depois do nome:Quote: printf("%s\n%d %d %d %d\n", Tabela[i].nome, Tabela[i].n_jogos, Tabela[i].g_m, Tabela[i].g_s, Tabela[i].pontos);
|
Author: | G3nn [ 10 Mar 2009, 23:24 ] |
Post subject: | Re: [ Programação ] C# |
obrigado, já experimento ![]() ![]() |
Author: | G3nn [ 11 Mar 2009, 20:22 ] |
Post subject: | Re: [ Programação ] C# |
Quote: /tmp/ccOpOJ0R.o: In function `main': wtv.c:(.text+0x2f): warning: the `gets' function is dangerous and should not be used. ...? ![]() |
Author: | b0ktai [ 11 Mar 2009, 20:25 ] |
Post subject: | Re: [ Programação ] C# |
Pelo que percebo da função gets é que ela te deixa ler mais bytes do que aqueles que alocaste. Isso pode levar a corrupção de memória, que mesmo ao passar por essa instrução quando correres o programa pode não dar erro, mas pode te estoirar noutro ponto qualquer do programa. É por isso que é "perigosa". ## EDIT ## Usa a fgets(). |
Author: | Cenotaph [ 12 Mar 2009, 00:56 ] |
Post subject: | Re: [ Programação ] C# |
O mítico perigo da função gets(), o que me ri da primeira vez q me aconteceu. Pá, a realidade é esta: se usas a função gets() mts vezes, recebes um telefona a dizer que vais morrer dentro de 7 dias. Dps sai uma menina da televisão e mata-te. Ou então é só pq pode ser facilmente explorada devido à sua implementação e a unica razão pela qual ainda é suportada é por razoes de compatibilidade. |
Author: | CerebroHelado [ 12 Mar 2009, 01:31 ] |
Post subject: | Re: [ Programação ] C# |
Yap, é giro correr shellcodes em programas com permissão de root usando essas funções ![]() Btw, outra do género é a strcpy. |
Author: | G3nn [ 12 Mar 2009, 21:50 ] |
Post subject: | Re: [ Programação ] C# |
Cenotaph já recebi o telefonema ![]() |
Page 1 of 2 | All times are UTC [ DST ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |