1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

Подсчет числа символов в каждой строке

Тема в разделе "С и С++", создана пользователем ra7, 9 авг 2010.

  1. ra7

    ra7 Гость

    Репутация:
    0
    Здравствуйте!!!!

    У меня есть два файла: А.txt - который содержит 5 строк произвольной длины, B - сюда заносится результат подсчета символов от каждой строки.

    И проблемы:
    - считаются все строки, кроме последней.
    - результат выводится на экран, но файл B при открытии выглядит пустым (там 5 пробелов)
    - После вывода на экран количества подсчитанных символов от каждой строки, в конец пишется -1 (видимо проверка функции feof()

    Код:
    #include <stdio.h>
    #include <conio.h>
    
    main()
    {
    int t[5]={0,0,0,0,0}; 
    int i;	
    
    FILE *f1,*f2;
    f1=fopen("A.txt","r");
    f2=fopen("B","w");
    
    char c1,c2;
    
    i=0;
    
    while(!feof(f1))
    {  
    c1=getc(f1);
    if (c1 == '\n')
    {	 
    putc(t[i],f2);
    i+=1;
    }
    else t[i]++;
    
    
    }
    
    
    fclose(f1);
    fclose(f2);
    
    putchar('\n');
    
    f2=fopen("B","r");
    
    while(!feof(f2))
    {
    c2=getc(f2);			  
    printf("%d",c2);
    } 
    
    fclose(f2);
    
    
    
    
    
    getch();
    return 0;
    }
    (
     
  2. bini1988

    bini1988 Гость

    Репутация:
    0
    Вот твой код с исправлениями:

    Код:
    // file.cpp : Defines the entry point for the console application.
    //
    
    #include "stdafx.h"
    #include <conio.h>
    #include <stdio.h>
    
    
    
    int _tmain(int argc, _TCHAR* argv[])
    {
    int t[5]={0,0,0,0,0}; 
    int i;	
    
    FILE *f1,*f2;
    
    f1 = fopen("C:\\С\\file\\A.txt","r");
    f2 = fopen("C:\\С\\file\\B.txt","w");
    
    char c1,c2;
    
    i=0;
    while(!feof(f1))
    {  
    c1 = getc(f1);
    if (c1 == '\n')
    {	 
    fprintf(f2," %d ",t[i]); 
    i+=1;
    }
    else t[i]++;
    
    
    }
    
    
    fclose(f1);
    fclose(f2);
    
    putchar('\n');
    
    f2=fopen("C:\\С\\file\\B.txt","r");
    
    
    while(!feof(f2))
    {
    int buf = fgetc(f2); 
    printf("%c",buf);
    } 
    
    fclose(f2);
    
    
    
    
    
    getch();
    return 0;
    }
     
Загрузка...

Поделиться этой страницей