Форум: Форум C++Разное
Новые темы: 00
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум C++

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Работа с файлом
 
 автор: Mozy   (12.04.2009 в 18:02)   письмо автору
 
 

Поставленная передомной задача:
на Visual C++
Создать программу ввода текста в файл с последующей обработкой.
В заданном тексте заменить последовательность символов X(I) на A(I) и подсчитать число произведенных замен.

Моё решение:
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
void main()
{
FILE *fp;
char letter;
char chto[13]="SOS";
char nachto[13]="SaveOurSouls";

if((fp = fopen("myfile","w"))==NULL) //ошибка открытия
     { puts("Nevozmogno otkrit fail");
        exit(1);
      }


puts("Vvodite text poka ne nadoest,dlya vixoda |");

do 
      {letter=getchar();
       fputc(letter,fp); //запись
      if(letter == chto)
{
letter = nachto;
}
  }
while(letter != '|');
fclose(fp); //закрытие


if((fp = fopen("myfile","r"))==NULL) //ошибка открытия
     { puts("Nevozmogno otkrit fail");
        exit(1);
      }
while((letter = fgetc(fp))!= EOF) //чтение
      printf("%c",letter);


fclose(fp); //закрытие

ge



Я понимаю,что оно не рабочее.
И мне хотелось бы узнать,что надо сделать,что бы заработало ?

  Ответить  
 
 автор: GeorgeIV   (13.04.2009 в 10:28)   письмо автору
 
   для: Mozy   (12.04.2009 в 18:02)
 

Какие ошибки выдает?

  Ответить  
 
 автор: Mozy   (13.04.2009 в 14:40)   письмо автору
 
   для: GeorgeIV   (13.04.2009 в 10:28)
 

Ошибка 2 error C2446: ==: нет преобразования 'char *' в 'int'
Ошибка 3 error C2040: ==: "int" отличается по уровням косвенного обращения от "char [13]"
Ошибка 4 error C2440: =: невозможно преобразовать 'char [13]' в 'char'

  Ответить  
 
 автор: GeorgeIV   (13.04.2009 в 15:33)   письмо автору
 
   для: Mozy   (13.04.2009 в 14:40)
 

Смотря далее видим, что letter - это символ, в ты пытаешься присвоить ему массивы из символов. В Си нельзя так сравнивать символ и строку, необходимо символы добавлять в строку и сравнивать строки strcmp()

  Ответить  
 
 автор: Mozy   (13.04.2009 в 15:46)   письмо автору
 
   для: GeorgeIV   (13.04.2009 в 15:33)
 

а как сделать другому,и что бы работало?

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования