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

Работа со строками - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Односвязный, двусвязный список, стек, очередь http://www.cyberforum.ru/cpp-beginners/thread18111.html
В общем, всем кто нуждается. Баггов вы не найдете. Односвязный список #include <iostream> #include <windows.h> using namespace std; class Node {
C++ Помогите !!!! Помогите решить!!!!! Я новичёк http://www.cyberforum.ru/cpp-beginners/thread18069.html
C++ Написать класс Graph
Здравствуйте! Помогите пожалуйста, разобраться с лабой по С/С++ написанной для BC3.1 и преподавателя 1959 г. выпуска (это я к тому, что он без void main() работы не принимает). Прожка такая:...
Найти K-ю цифру в строке натуральных чисел C++
Сразу о главном: дано натуральное K. Найти K-ю цифру в строке натуральных чисел 123456789101112131415.... Что с этим счастьем делать, ума не приложу((( Помогите, пожалуйста, если кто может.
C++ Программа на С http://www.cyberforum.ru/cpp-beginners/thread18057.html
Написать программу, подсчитывающую число прожитых Вами дней. Программа должна предложить Вам ввести дату вашего рождения, текущую дату и выдать сообщение, что Вы живете такой-то день. я это...
C++ Возможно ли в одном case'е проверить, является ли символ буквой латинского алфавита? помогите,плз разобраться с вопросиком. возможно ли в одном case'е проверить является ли символ буквой латинского алфавита? т.е. сделать аналогично этому: if ((a>='a') && (a<='z')) ? если... подробнее

Показать сообщение отдельно
accept
4822 / 3243 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
12.12.2008, 23:20
//вот тут была ошибка, иначе читалось только две строки. потом j=3, i=2 и все ..
j=1;
наоборот у меня было без ошибок ты переделал с ошибкой, задание прочитай
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#include <stdio.h>
 
#define MAXLINE  1000    /* максимальная длина строки */
#define IN  1            /* внутри пропусков */
#define OUT 0            /* снаружи пропусков */
 
/* читает строки из файла, а потом записывает их определённым образом 
   первую оставить, вторую - удалить, на месте её - пустая строка и т.д.;
   с перезаписью файла */
main()
{
    void filecopy(FILE *, FILE *); // функция будет использоваться в этой области
    FILE *fp, *tfp;
    char line[MAXLINE], *p;
    int state;
    long i, j, nl;
    const char *fname = "file.txt";
        
    if ((fp = fopen(fname, "rb")) == NULL)
        return 1;
    if ((tfp = tmpfile()) == NULL)
        return 2;
    i = j = nl = 0;
    while ((p = fgets(line, MAXLINE, fp)) != NULL) { // NULL будет когда файл закончится
        nl++; // считает каждую строку
        if (i == 0) { // пока i > 0 вставлять пустые строки
            j++; // сколько пустых строк вставлять на этот раз (должно расти по условию)
            i = j; // ставит верхнюю границу, которую снижает до нуля
            state = OUT; // флаг - выводить строку
        } else {
            i--; // сколько ещё пустых строк осталось вывести
            state = IN; // флаг - скрыть строку
        }
        // флаг управляет выводом:
        // что вывести с номером? строку или пустую строку
        fprintf(tfp, "%03d:%s", nl, (state == OUT ? line : "\n"));
    }
    fclose(fp);
    rewind(tfp); // переводит указатель темпового файла в начало, т.к. туда писались строки
    if ((fp = fopen(fname, "wb")) == NULL) // файл может иметь только право на чтение, проверит
        return 3;
    filecopy(tfp, fp);
    fclose(tfp); // стирает темповый файл
    fclose(fp);
    return 0;
}
 
/* filecopy:  копирование файла ifp в файл ofp */
void filecopy(FILE *ifp, FILE *ofp)
{
    int c;
    
    while ((c = getc(ifp)) != EOF)
        putc(c, ofp);
}
Добавлено через 7 минут 40 секунд
const char *tname = "temp.txt"; // сюда пишем
в каталоге может быть запрет на изменение списка файлов

//temp.txt если не существует - будет создан
не будет создан

и программу закинуть в такой каталог можно - моя сработает а твоя завалится

Добавлено через 4 минуты 6 секунд
и ещё там может лежать файл temp.txt в котором уже может быть что-то важное (от другой программы например твоей же такой же)

Добавлено через 1 минуту 14 секунд
так что сначала у себя в голове ошибки исправь

Добавлено через 11 минут 18 секунд
//вот тут была ошибка, иначе читалось только две строки
всё там правильно
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru