Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> работа с файлами. Ошибка конца строки 
:(
    Опции темы
imperceptible
Дата 9.10.2010, 08:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 24.8.2010

Репутация: нет
Всего: нет



Необходимо удвоить в содержимом файле каждую литеру. Вот код. Код верный. но в конце файла как признак конца строки вылезает буква "я". Как её убрать? Нужно что-то дописать под предлогом кона строки. Был вариант дописать (d!=-1), но это не помогло. Что делать?
//Программа удваивает в содержимом файла каждую букву

Код
#include <stdio.h>
void main() {
FILE *f,*g; 
char d, file[20], f_exit[20];
printf("Введите имя файла: "); 
scanf("%s", file);
printf("Введите имя выходного файла: "); 
scanf("%s", f_exit); 
f=fopen(file,"r");
g=fopen(f_exit,"w+");
printf("\nСодержимое  файла %s: ", file); 
while (!feof(f))
{ 
d=getc(f); 
if (d!=-1);
{
printf("%c",d);
fprintf(g,"%c%c",d,d); 
}
}  
fclose(g); 
printf("\nСодержимое  файла %s: ", f_exit);  
g=fopen(f_exit,"r"); 
while (!feof(g))
{
d=getc(g);
printf("%c",d); 
}
fclose(f);  
} 



Модератор: не забываем пользоваться кнопочкой "Код"

Это сообщение отредактировал(а) bsa - 9.10.2010, 23:14
PM MAIL   Вверх
boostcoder
Дата 9.10.2010, 08:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 20
Всего: 110



код отформатируй, тогда гляну smile 
PM WWW   Вверх
imperceptible
Дата 9.10.2010, 10:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 24.8.2010

Репутация: нет
Всего: нет



что ты имеешь ввиду?
PM MAIL   Вверх
Crafty
Дата 9.10.2010, 14:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 319
Регистрация: 3.11.2008

Репутация: 12
Всего: 14



imperceptible,  подсветка кода
PM MAIL   Вверх
bsa
Дата 9.10.2010, 23:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



imperceptible, и еще это почитай: Часто задаваемые вопросы

Добавлено через 4 минуты и 9 секунд
imperceptible, fgetc возвращает значение типа int не просто так. А потому, что в случае обнаружения конца файла (а он обнаруживается при попытке прочитать достигнув его, т.е. когда ты прочитал весь файл feof еще не TRUE, она станет true только после попытки прочитать еще хотя бы один символ) эта функция возвращает значение (int)-1, которое при конвертации в unsigned char чудесным образом превращается в символ с кодом 255. А это буква "я" в одной из Windows кодировок.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0551 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.