Нужна помощь

Тема в разделе "Общие вопросы по С и С++", создана пользователем Ҹ, 24 дек 2006.

Статус темы:
Закрыта.
  1. Ҹ

    Ҹ Гость

    Я вот начал делать программу, и тут такое задание,я ещё как бы эту тему не проходил, мне нужна ваша, помощь,начал делать,дали курсовую :
    начал делать программу, и мне нужна ваша помощь, мне нужно сделать такие действия в программе:
    там нужно удалить все пробелы в текстовом файле, все комменты /* и //, кроме тех которые заданы специальным ключом коммандной строки.
    Коммандная строка программы:
    имя_программа[-p prefix] [-in file] [-list file] [-out file]
    Ключ -р (если он есть) задёт префикс prefix комментария, который должен оставаться в входном файле (например, -p/*-comp означает оставить комменты, которые начинаются с /*-comp-)ж
    Ключ -in (если он есть) задаёт входной файл или файлы (при использовании шаблона имён), которые идут сразу после ключа через пропуск;
    Ключ -list (если он есть) задаёт текстовый файл, который идёт сразу после ключа черз пропуск, со списком спецификаций входных файлов (одна строка - одна спецификация файла);
    Ключ -out (если он есть) задаёт префикс имени файла/ов результата (тоесть имени выходного файла происходит от имени входного файла лописыванием префикса);
    если ключ неуказан, то префиксом по умолчанию брать символ ~.

    #include <stdlib.h>
    #include <stdio.h>
    int main(void)

    {
    FILE *fp;
    FILE *fopen(const char *filename, const char *mode);
    int fputc(int c,FILE *fp);
    char *fgets(char *str, int n,FILE *fp);
    int fprintf(FILE *fp, char *fmt,...);
    char ch,filename[40], mode[5];
    int count;

    while(1)
    {

    if((fp = fopen("INPUT.TXT", "a+")) != NULL)
    {
    fprintf(stderr,"Error opening file.");
    exit(1);

    }
    printf("\nImmediately after opening, position = %ld", ftell(fp));

    //printf("\nSuccessfull opening %s in mode %s.\n", filename, mode);
    fclose(fp);
    if((ch = getc(stdin))=='x')
    break;


    }

    //fprintf(stderr, "\nError opening file %s in mode %s.\n", filename, mode);
    {
    int count;
    system("PAUSE");
    return 0;
    }


    Тут вот исходник кода, но он на С не работает, там одна часть написана на PHP
    <?
    $string="Здесь много лишних пробелов!";
    $string=ereg_replace(" +"," ",$string);
    echo $string;
    ?>

    С

    FILE * fIn = fopen("d:\\1.hex", "r");
    int ch;
    std::string s;
    while (EOF != (ch = fgetc(fIn)))
    {
    s += (char) ch;
    }

    Помогите доделать программу.
    Заранее благодарен
     
Загрузка...
Статус темы:
Закрыта.

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