Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.05.2010, 18:45   #1
AlbertW
 
Регистрация: 06.05.2010
Сообщений: 4
По умолчанию Написать #define

Цитата:
Реализовать простой препроцессор языка С, способный выполнять замены в тексте, заданные с помощью директивы #define (в том числе нерекурсивные макросы)
PHP код:
#include "stdafx.h"
#include <fstream>
#include <iostream>
using namespace std;

#define MIN(X,Y) ((X)>(Y)?(Y):(X))

char filename[100];
FILE fp;

int get_file_sz()
{
    
int a=0;
    
cout<<endl;
    if((
fp=fopen(filename"r"))==NULL)
    {
        
cout<<"\n\nError!!!. I can't open the file";
    }
    
char buf[256];
    
int size=0,tmp;
    for( ; ; ){
        
tmp=fread(buf,1,256,fp);
        
a+=tmp;
        if(
tmp<256) break;
    }
    
fseek(fp0LSEEK_END);
    return 
a;
}
void get_arr(char ptr,int fz)
{
    
int i=0;
    if((
fp=fopen(filename"r"))==NULL)
    {
        
cout<<"\n\nError!!!. I can't open the file";
    }

    while(
i<fz){
        *
ptr=fgetc(fp);++ptr;++i;
    }
    
fseek(fp0LSEEK_END);
    return;
}

int _tmain(int argc_TCHARargv[])
{
    
//read file on the screen and woofer
    
int filesz;
    
cout<<"Input the filename:";
    
cin>>filename;
    
filesz=get_file_sz();
    
cout<<"filesize="<<filesz<<endl;
    
char *a=(char *)malloc(filesz);
    
char *ptr_a=&a[0];
    
get_arr(ptr_a,filesz);
    
cout<<a<<endl;
    
//#define
    
int defn=0;
    while(
strstr(a"#define")!=0)++defn;
    
cout<<"defn="<<defn;

    return 
0;


Собственно кое как я разобрался с тем как считать с фаила в буфер а вот как искать слова не знаю.Помогите плиз советом (алгоритмом) или кодом (если такой можно найти на простарах инета,что мне не удалось).

Последний раз редактировалось AlbertW; 06.05.2010 в 19:08.
AlbertW вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему функция, а не макрос define? ertyuo Общие вопросы C/C++ 6 08.01.2010 02:27
#define JOFRIF Общие вопросы C/C++ 7 21.07.2009 18:26
#define DEBUG Revenholm Общие вопросы C/C++ 1 01.05.2009 19:52
задача под windows,помогите написать.Надо написать на Borland C++Builder 6. eddddii Помощь студентам 9 23.05.2008 17:04