[C] scanf wczytywanie dokładnie 8 znaków
Ostatnio zmodyfikowano 2014-01-01 22:23
Katruf Temat założony przez niniejszego użytkownika |
[C] scanf wczytywanie dokładnie 8 znaków » 2014-01-01 19:50:36 witam potrzebuję za pomocą scanf() wczytać dokładnie 8 znaków do tablicy. próbowałem char kryteria[ 9 ]; kryteria[ 8 ] = '\0'; for( i = 0; i < 8; i++ ) scanf( "%c", & kryteria[ i ] );
i jak podam w konsoli wpiszę np 20 zer to faktycznie w tablicy znajdzie się 8 zer ale jak podam 20 jedynek to do tablicy wędruje tylko 7 ... czy jest jakiś inny sposób żeby wczytać określoną liczbę znaków? chodzi mi o to żeby nie przekroczyć tablicy, żeby nie wpisać czegoś w tym ostatnim elemencie w którym powinno znajdować sie '\0' czy jak napiszę po prostu scanf("%s",kryteria); i podam dłuższy ciąg znaków to funkcja zabierze tylko tyle ile powinna? edit: przy zerach też 7 wczytuje ... nie wiem jak ja tego nie zobaczyłem .. |
|
Katruf Temat założony przez niniejszego użytkownika |
» 2014-01-01 22:23:53 problem rozwiązany :) int i = 0; char znak = 'a'; char kryteria[ 9 ]; fflush( stdin ); while( znak != '\n' ) { scanf( "%c", & znak ); if( i < 8 ) kryteria[ i ] = znak; i++; }
|
|
« 1 » |