Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 1730 • Страница 29 из 87<  1 ... 26  27  28  29  30  31  32 ... 87  >
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

Member
Статус: Не в сети
Регистрация: 24.12.2005
-=alex-forewer=- Если ob == NULL, то всё в порядке, иначе могут быть проблемы. Поэтому объявляй переменную - cl *ob = NULL.



Партнер
 

Member
Статус: Не в сети
Регистрация: 24.11.2004
Последним из могикан!!! Помогите пожалуйста. досовская Си версии 7.0 имеет проблемы с WinXP, в часности при компиляции выдает ошибку "cannot create linker response file". Очень нужна помощь. Заранее благодарен.


 

Advanced member
Статус: Не в сети
Регистрация: 09.03.2004
Откуда: Кишинёв
Legion_Delit Попробуй убрать атрибут read-only со всех файлов компилера. Часто(неро?) при записи на диск файлы получают этот атрибут.


 

Member
Статус: Не в сети
Регистрация: 24.11.2004
read only не стоит, проблема в чем то другом


 

Member
Статус: Не в сети
Регистрация: 20.12.2002
Откуда: Санкт-Петербург
fopen открывает файл с заданным именем и возвращает поток или NULL, если попытка открытия оказалась неудачной. Режим mode допускает следующие значения:
"r" - текстовый файл открывается для чтения (от read (англ.) - читать);
"w" - текстовый файл создается для записи; старое содержимое (если оно было) выбрасывается (от write (англ.) - писать);
"а" - текстовый файл открывается или создается для записи в конец файла (от append (англ.) - добавлять);
"r+" - текстовый файл открывается для исправления (т. е. для чтения и для записи);
"w+" - текстовый файл создается для исправления; старое содержимое (если оно было) выбрасывается;
"a+" - текстовый файл открывается или создается для исправления уже существующей информации и добавления новой в конец файла.


В чем разница между w и w+

" текстовый файл создается для исправления " - совсем непонятно...


 

Member
Статус: Не в сети
Регистрация: 01.04.2005
Откуда: Москва-Лубянка
Bar3ikk
w — файл открывается для записи
w+ — файл открывается для чтения и записи
Добавлено спустя 31 секунду
Эй! У тебя же написано!
Bar3ikk писал(а):
для исправления (т. е. для чтения и для записи);

_________________
AnossovPavel в проекте F@H (TSC!Russia)
退屈な祖父 ¤ παππούς ¤ («клан дедов»)


 

Member
Статус: Не в сети
Регистрация: 17.07.2005
Как можно большой символьный массив(несколько мегабайт) "переселить" в кучу из стека чтобы не переполнения в последнем?


 

Member
Статус: Не в сети
Регистрация: 12.12.2003
Откуда: Уфа
Всем добрый день, последний раз заходил сюда 2 месяца назад, не до программирования было, сессия, потом новогодние каникулы. В общем опять приступаю к работе над своей программой. Стоит вопрос. Логика программмы такова, что в ней есть какая-то база данных (различные массивы, объекты и прочее). К этим данным должны иметь доступ диалоговые окна, они не совсем диалоги, которые просто передают параметры в программу. Не закрываясь, они тоже должны выполнять какие-то операции над данными. Можно ли это реализовать в c++? И как правильно сделать это?
Программу пишу на QT, соответственно есть следующие файлы:
main.cpp - файл программы, содержащий функцию main;
mainwindow.cpp
mainwindow.h - файлы главного окна программы
somedialog.cpp
somedialog.h - файлы диалога.


 

Member
Статус: Не в сети
Регистрация: 09.08.2005
Откуда: Земля
Здравствуйте, люди помогите дописать прогу
Вобщем есть текст созданный в СИ и он сохранён с расширением DAT.
Нужно написать прогу, чтобы она 1)выводила текст на экран и
2)выводила текст ещё раз, выкидывая из него слово введённое с клавы.

Первую часть я вроде сделал, а как сделать вторую? :spy:

Код:
#include<stdio.h>
void main()
{
char c,s[20],l;
int i;
FILE *f;
f=fopen("TEXT.dat","r+");
 while(!feof(f)){
   fscanf(f,"%c",&c);
   printf("%c",c);}
 fclose(f);
 f=fopen("TEXT.dat","r");
 printf("Vvedite slovo");
     
}


Заранее благодарен!


 

Advanced member
Статус: Не в сети
Регистрация: 09.03.2004
Откуда: Кишинёв
LiS95
Код:
#include <stdio.h>
#include <stdlib.h>

char* delete_substring(char* str, const char* word)
{
    char *fpos;
    int wlen = strlen(word);
    while(fpos = strstr(str,word))
    {
        fpos[0] = 0;
        strcat(str,fpos+wlen);
    }
    return str;
}

int main(int argc, char *argv[])
{
    FILE* f = fopen("text.dat","r+");
    if( !f ) return 1;
    char str[1000]; // предпологаем максимальную длинну строки в 1000 символов
    while( fgets(str,1000,f) )
    {
        printf("%s",str);
    }
    printf("\n----------------------------------------------------------\n");
    char word[100];
    scanf("%s",word);
    fseek(f,0,SEEK_SET);
    while( fgets(str,1000,f) )
    {
        printf("%s",delete_substring(str,word));
    }
    fclose(f);
    system("PAUSE");   
    return 0;
}

Из особенностей: чувствительна к регистру; удаляет не слова, а вхождения. Пробуй.


 

Member
Статус: Не в сети
Регистрация: 19.03.2006
Ребят, а не подскажете как считать нажатие shift+стрелки?
я пробовал, если просто стрелки нажимать, то в буфер клавиатуры заносится 0x00, и второе значение, например для влавиши вниз 0x50...
C нажатым шифтом тоже самое, так как же их различить?


 

Member
Статус: Не в сети
Регистрация: 09.08.2005
Откуда: Земля
2 mein Спасибо, но что-то не работает. Пишет ошибки
errror C2065 str undefined
error C2065 word undefined
error C2144 cyntax error: missing ; before type char


 

Member
Статус: Не в сети
Регистрация: 01.04.2005
Откуда: Москва-Лубянка
В чистом си объявления должны быть в начале функции, гыгы

Код:
(…)
int main(int argc, char *argv[])
{
    char str[1000]; // предпологаем максимальную длинну строки в 1000 символов
    char word[100];
    FILE* f = fopen("text.dat","r+");
    if( !f ) return 1;
    while( fgets(str,1000,f) )
    {
        printf("%s",str);
    }
    printf("\n----------------------------------------------------------\n");
   
    scanf("%s",word);
    fseek(f,0,SEEK_SET);
    while( fgets(str,1000,f) )
    {
        printf("%s",delete_substring(str,word));
    }
    fclose(f);
    system("PAUSE");   
    return 0;
}

_________________
AnossovPavel в проекте F@H (TSC!Russia)
退屈な祖父 ¤ παππούς ¤ («клан дедов»)


 

Member
Статус: Не в сети
Регистрация: 14.01.2004
Откуда: Киев, Украина
Anoss неа, это в С, который даже еще не ANSI, старый компайлер.

_________________
Ку ку


 

Member
Статус: Не в сети
Регистрация: 12.12.2003
Откуда: Уфа
Вопросик: диалоговое окно передает в программу какие-то параметры, который есразу засовываются в какую-то функцию:
Код:
   NewFileDialog dialog;
   dialog.exec();
   someObject->somefunc(dialog.a, dialog.b, dialog.c, dialog.d, ..., dialog.z);

Лучше передавать в функцию весь объект:
Код:
   NewFileDialog dialog;
   dialog.exec();
   someObject->somefunc(dialog);

?


 

Member
Статус: Не в сети
Регистрация: 14.01.2004
Откуда: Киев, Украина
kexman скажу честно, и то и то криво.
Первый фаргмент - нарушение инкапсуляции.
Второй - кривой дизайн, согласись, передавать класс диалога не есть самое правильное решение, а если потом захочется использовать ту же функцию, но параметры будут хранится в другом классе и способ их доставки в функцию меняется.

Лучше создать структуру типа

Код:
struct SOParams
{
    int a, b, c;
};


Затем в классе диалога:

Код:
SOParams NewFileDialog::GetDialogSOParams()
{
    SOParams ret;
    ret.a = 1;

    return ret;
}


Ну и потом я думаю понятно :)

_________________
Ку ку


 

Member
Статус: Не в сети
Регистрация: 12.12.2003
Откуда: Уфа
Daemon
ну тогда надо создавать отдельный файлик со структурой SOParams? И инклудить его как в MObject, так и в NewFileDialog? И таких ведь структур много может быть в программе, следовательно и файликов таких с параметрами много будет.


 

Member
Статус: Не в сети
Регистрация: 14.01.2004
Откуда: Киев, Украина
kexman отдельный фаил можно не создавать, я же незнаю, как у тебя все там написано :)

_________________
Ку ку


 

Member
Статус: Не в сети
Регистрация: 12.12.2003
Откуда: Уфа
Ну если класс NewDialog использует структуру и класс, куда передаются параметры, тоже использует структуру, то в итоге они должны использовать 1 файл


 

Member
Статус: Не в сети
Регистрация: 09.08.2005
Откуда: Земля
main & anoss огромное спасибо!
Но нам оказывается нельза юзать библиотеки функции для работы со строками (словами)
Прошу можно написать ту же самую прогу, используя только библиотеку STDIO.H
Заранее благодарен


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 1730 • Страница 29 из 87<  1 ... 26  27  28  29  30  31  32 ... 87  >
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan