| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Почему подменяется значение переменной? |
| Автор: champion 12.12.2006, 06:40 | ||||
Почему, когда я считываю посимвольно и присваю get[0]._count значение, то оно совсем какое-то левое? Таких символов в файле нет. Думаю, что что-то с типами, но разобраться сам не могу. Добавлено @ 06:42 По сути это значение типа char, но тогда почему компилятор не выводит ошибку? Файл вида: 10 // вот тут трабл, считывает непоймешь какие цифры, но когда даю cout << str; то выводит то что надо, а при присваивании пихает не помешь что. Дальше по строкам думаю такие же ошибки 1 2 3445 4554 |
| Автор: archimed7592 12.12.2006, 07:05 |
| если хочешь считывать числа, пользуй fscanf (input, "%d", &num); или cin >> num;...подразумевается int num; если есть большее желание понять, почему с char так получается, то можно почитать http://ru.wikipedia.org/wiki/ASCII...в кратце: символ ("текстовый") и число - разные вещи т. е. ты считываешь '1' (что численно равно 48) а проверяешь на равенство с 1... |
| Автор: champion 12.12.2006, 12:28 |
Что это значит? Можно подробее про %d, &num |
| Автор: Mal Hack 12.12.2006, 18:31 |
| %d - спецификаторы формата ввода\вывода. %d - в частности целове число, %c - символ, %s - строка и т.п. num - переменная куда читать, соответственно для $d - integer. & обязателен. |
| Автор: champion 12.12.2006, 20:27 |
| Искал на msdn ничего путевого не нашел( Можно пример? Желательно так, чтобы отпарсиить такой вот файл: 1 22 3 45 4554 ?? |
| Автор: Partizan 12.12.2006, 20:29 |
| плохо искал значит ) см справку по параметрам fscanf ) |
| Автор: champion 13.12.2006, 20:33 |
| И все таки попрошу пример |
| Автор: JackYF 13.12.2006, 20:55 |
| http://www.cplusplus.com/ref/cstdio/fscanf.html http://www.codenet.ru/progr/cpp/spr/141.php |