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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
xKORESHx
0 / 0 / 0
Регистрация: 23.09.2011
Сообщений: 22
#1

Запись из массива а файл - C++

18.12.2011, 12:19. Просмотров 735. Ответов 3
Метки нет (Все метки)

Добый день. Задача такая: Из файла в массив записать содержащийся в нём текст вместе с пробелами, а затем в другой файл из этого массива записать получившееся содержимое.Порылся в гугле и получился такой код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
char a[100];
int i=0;        
ifstream f;
f.open("D:\\test.txt");
while(!f.eof())
{
  f.get(a[i]);
  i++;
}
f.close();
ofstream f2("D:\\zx.txt");          
f2<<a;      
f2.close();
Проблема в том, что в файле куда записывается массив, помимо его содержимого, появляются различные каракули. Как исправить?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.12.2011, 12:19     Запись из массива а файл
Посмотрите здесь:

Запись массива символов в файл C++
Запись числового массива в файл?? C++
C++ запись массива структур в файл
C++ Запись массива в файл.
C++ Запись числового массива в файл
C++ Запись массива в файл
запись массива в файл C++
Запись массива в файл C++
C++ Запись двумерного массива в файл
C++ Запись массива в файл
Запись двумерного массива в файл C++
Запись массива в двоичный файл C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
yekka
384 / 148 / 8
Регистрация: 12.05.2011
Сообщений: 450
18.12.2011, 12:34     Запись из массива а файл #2
у тебя строка a оказывается нетерминированной. попробуй
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
char a[100];
int i=0;                
ifstream f;
f.open("D:\\test.txt");
while(!f.eof())
{
  f.get(a[i]);
  i++;
}
a[i] = '\0';
f.close();
ofstream f2("D:\\zx.txt");              
f2<<a;          
f2.close();
xKORESHx
0 / 0 / 0
Регистрация: 23.09.2011
Сообщений: 22
18.12.2011, 12:42  [ТС]     Запись из массива а файл #3
Спасибо большое!!Помогло)
yekka
384 / 148 / 8
Регистрация: 12.05.2011
Сообщений: 450
18.12.2011, 12:44     Запись из массива а файл #4
но с этим кодом будет выход за пределы буфера и segmentation fault, если в исходном файле будет содержаться более 99 символов.
так что нужно еще добавить счетчик символов и прекращать копирование, если буфер весь заполнен
Yandex
Объявления
18.12.2011, 12:44     Запись из массива а файл
Ответ Создать тему
Опции темы

Текущее время: 02:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru