Форум программистов, компьютерный форум CyberForum.ru

Очень странный баг - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определить значение двух последних разрядов двоичного числа http://www.cyberforum.ru/cpp-beginners/thread1111814.html
Дано число в двоичном виде, нужно узнать значение двух старших разрядов этого числа. Подкиньте идейку или напишите кусок программы, как это можно реализовать. Заранее благодарю.
C++ Даны массива a и b из n и m целых чисел, соответственно Даны массива a и b из n и m целых чисел, соответственно. В каждом массиве - строго возрастающая последовательность чисел. Сформировать третий массив c, записать в него числа, которые есть хотя бы в одном из массивов a и b. Записывать только по 1 разу. http://www.cyberforum.ru/cpp-beginners/thread1111803.html
C++ Поменять местами минимальный и максимальный элемент в каждом столбце матрицы
Дано матрицу размером 5 x 10. Превратить матрицу, поменяв местами минимальный и максимальный элемент в каждом столбце.
Вывести все строки матрицы, кратные 4 C++
Вывести все строки матрицы, кратные 4
C++ Найти средние арифметические значения элементов каждой строки http://www.cyberforum.ru/cpp-beginners/thread1111796.html
Задать матрицу произвольным способом. Найти средние арифметические значения элементов каждой строки.
C++ Найти в массиве количество элементов, превышающих среднее арифметическое Дано одномерный массив из 15 целых чисел. Найти количество элементов, превышающих среднее арифметическое всех элементов массива. подробнее

Показать сообщение отдельно
Repy
0 / 0 / 0
Регистрация: 19.09.2013
Сообщений: 43

Очень странный баг - C++

05.03.2014, 14:23. Просмотров 384. Ответов 11
Метки (Все метки)

Вообщем такая история. Программировал в Visual studio, залез в чужую память и после этого не могу правильно считать данные из текстовых файлов.
Написал новую программу с нуля - она тоже не правильно считывает. На другом компьютере тот же самый код работает правильно и считывает нормально
(может проблема в библиотеке fstream?)
Вот программа, по которой я тестирую поведение:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "stdafx.h"
#include <iostream>
#include <fstream>
 
 
using namespace std;
 
int main()
{
    fstream fin,fout;
    fin.open("C://test/in.txt",ios::in);
    fout.open("C://test/out.txt",ios::out);
    char c;
    int i = 0;
    while (!fin.eof()) 
    {
        fin >> c;
        cout << c;
        fout << c;
    }
    system("pause");
}
Если во входном файле "hello", то в выходном будет "hello", как и должно быть, но в консоль он выведет " *h e l l o " и, если посчитать длину этой строки, то будет 13 вместо 5.
(звездочкой я обозначил непонятный символ, квадратик)
Если входной файл пустой, то появится 3 лишних символа " **"

Пробовал:
1) переустанавливал visual studio
2) устанавливал старые версии visual studio, там тоже самое
3) откатывал систему
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 14:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru