1 | ||||||
[C++] Работа с файлами17.06.2010, 21:09. Показов 33242. Ответов 74
Метки нет (Все метки)
Задача: Есть файлы, которые надо обработать:
1.просканировать директории на наличие файлов расширения *.TXT 2.сохранять список путей к файлам в booklist.txt (для дальнейшей работы) 3.вывести booklist.txt на экран Добавлено через 41 минуту пытался найти похожие или хоть какие-то программы работы с файлами нашел вот эту работает с файлами через аргумент и выводит дважды содержание файла:
------------------------------------ Посоветуйте что можно сделать, я в С++ только начал
1
|
17.06.2010, 21:09 | |
Ответы с готовыми решениями:
74
работа с файлами работа с файлами Работа с файлами Работа с файлами |
3528 / 2686 / 334
Регистрация: 11.03.2009
Сообщений: 6,168
|
|
23.06.2010, 21:21 | 62 |
1
|
3528 / 2686 / 334
Регистрация: 11.03.2009
Сообщений: 6,168
|
|
25.06.2010, 00:41 | 64 |
А выходной файл ты где ищешь?
1
|
3528 / 2686 / 334
Регистрация: 11.03.2009
Сообщений: 6,168
|
|
25.06.2010, 09:24 | 67 |
Программа отрабатывает нормально, как запрограммировали. Удаляет комментарии в стиле С /**/
С++'ые не трогает.
1
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
|
|
25.06.2010, 12:16 | 68 |
А чё, там комменты по-разному оформляются?
1
|
Модератор
12454 / 7479 / 1752
Регистрация: 25.07.2009
Сообщений: 13,755
|
||||||
25.06.2010, 13:20 | 69 | |||||
комментарии "до конца строки"
1
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
|
|
25.06.2010, 13:34 | 70 |
Предлагаю считать // комменатриями безоговорочно
1
|
Модератор
12454 / 7479 / 1752
Регистрация: 25.07.2009
Сообщений: 13,755
|
|
25.06.2010, 13:46 | 71 |
смело хотя, как оказалось, мелкомягкий cl комментарии в духе с++ понимает, борландовского под рукой нету, проверьте, кому интересно...
Код
C:\cpp\strings>type h.c #include <stdio.h> int main(void){ // output string printf("Hello, world!\n"); return 0; } C:\cpp\strings>cl h.c Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 14.00.50727.42 for 80x86 Copyright (C) Microsoft Corporation. All rights reserved. h.c Microsoft (R) Incremental Linker Version 8.00.50727.42 Copyright (C) Microsoft Corporation. All rights reserved. /out:h.exe h.obj C:\cpp\strings>h.exe Hello, world! C:\cpp\strings>
1
|
26.06.2010, 09:46 [ТС] | 72 | |||||
Знаю что в стандарте С нет регулярных выражений.
Хочу попробывать на основе предыдущих кодов собрать функцию поиска по шаблону регулярных выражений. Аналог
(шаблон, строка, массив) (pattern,subject,outarray)
0
|
24.07.2010, 22:15 [ТС] | 73 |
возникает путаница с "/*" "*/" воспринимает как сам коментарий
и режет строку в которой частично упомянут коментарий пока не удаляет коментарии вида // Код программы
#include<iostream> // Required for cin, cout, and cerr.
#include<fstream> // Required for ifstream and ofstream. using namespace std; #define DelStart "/*" #define DelStop "*/" #define INPUT "E:\\4test\\delcom.txt" #define OUTPUT "E:\\4test\\delcom-out.txt" int commentor(char *DelStart, char *DelStop, char *INPUT, char *OUTPUT){ char buf[32769] = {'\0'}; char *tmp; int f_c = 0; ifstream file_in; ofstream file_out; file_in.open(INPUT); if (!file_in.is_open()){ cerr << "Can not open input file" << endl; system("pause"); return 1; } file_out.open(OUTPUT); if (!file_out.is_open()){ cerr << "Can not open output file" << endl; system("pause"); return 1; } while (file_in.good()) { file_in.getline(buf, 32768); if (!f_c) { if ((tmp = strstr(buf, DelStart)) != NULL) { *tmp = '\0'; f_c = 1; for (int i = 0; i < strlen(buf); i++) { if (buf[i] != ' ' && buf[i] != '\t') { file_out << buf << endl; break; } } continue; } else file_out << buf << endl; } else { if ((tmp = strstr(buf, DelStop)) != NULL) { f_c = 0; } } } file_out.close(); return 0; } int main(int argc, char* argv[]){ commentor(DelStart, DelStop, INPUT, OUTPUT);/* commentor("/*", "*\/", "E:\\4test\\delcom.txt", "E:\\4test\\delcom-out.txt");*/ return 0; }
0
|
3528 / 2686 / 334
Регистрация: 11.03.2009
Сообщений: 6,168
|
|
26.07.2010, 12:28 | 74 |
путаницы никакой нет, просто алгоритм простой, не учитывающий, что символы комментария могут находиться в строке.
0
|
10.01.2014, 17:45 [ТС] | 75 |
а как сделать чтобы учитывал?
0
|
10.01.2014, 17:45 | |
10.01.2014, 17:45 | |
Помогаю со студенческими работами здесь
75
Работа с файлами Работа с файлами работа с файлами Работа с файлами Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |