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

C для начинающих

Войти
Регистрация
Восстановить пароль
 
SlayerLiving
0 / 0 / 0
Регистрация: 25.04.2012
Сообщений: 13
#1

Создать текстовый файл, и скопировать в него все сообщения от Ивана, отделяя каждое сообщение пустой строкой - C (СИ)

15.07.2013, 00:14. Просмотров 759. Ответов 9
Метки нет (Все метки)

Привет уважаемые Си программисты)))
У меня ооооочень критичное положение -> не сдача нижеописанного задания грозит мне гемороем огромных размеров....

О задаче:

Есть файл (txt)...
Его содержимое чат - аналагичный привычному чату из родного контактика)):
--------------------------------------------------
Олеся:
тродлдлдлдлдлываыва
авыаываываыва ыаываы ыаваавыва
фвыйыввйывфывфыв
фвфыфывфыв

Иван:
ываывавыаваыы ываывыва выаыва
выаывавыаыва
ваывываываываываыва
выаываываыва
ываываываыва

Олеся:
тродлдлдлдлдлываыва
авыаываываыва ыаываы ыаваавыва
фвыйыввйывфывфыв
фвфыфывфыв

тродлдлдлдлдлываыва
авыаываываыва ыаываы ыаваавыва
фвыйыввйывфывфыв
фвфыфывфыв

Иван:
фывфывфыв....

--------------------------------------------------

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

ываывавыаваыы ываывыва выаыва
выаывавыаыва
ваывываываываываыва
выаываываыва
ываываываыва

фывфывфыв....

Сам я не особо шарю в програминге, но немного ориентируюсь в коде. Пытался разобраться самостоятельно, но дела идут медленно, и по срокам я не укладываюсь... Очень надеюсь на вашу помощь ребят)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.07.2013, 00:14
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Создать текстовый файл, и скопировать в него все сообщения от Ивана, отделяя каждое сообщение пустой строкой (C (СИ)):

Из файла F в текстовый файл скопировать все нечетные числа - C (СИ)
прошу написать программу с помощью функций. В типизированный файл F с помощью датчика случайных чисел записать 200 целых чисел от -50 до...

Создать текстовый файл F1. Скопировать в файл F2 только те строки из F1, которые заканчиваются символом "А" - C (СИ)
Создать текстовый файл F1 не менее, чем из 10 строк и записать в него информацию. Скопировать в файл F2 только те строки из F1, которые...

Исходный текстовый файл скопировать в результирующий текстовый файл, удалив слова менее N1 символов - C (СИ)
Не так давно я просил помощь в написании программы на си: Исходный текстовый файл скопировать в результирующий текстовый файл, удалив слова...

Создать текстовый файл F1 не менее, чем из 10 строк и записать в него информацию - C (СИ)
Создать текстовый файл F1 не менее, чем из 10 строк и записать в него информацию. Скопировать в файл F2 только те строки из F1, которые...

Создать текстовый файл F1 не менее, чем из 10 строк и записать в него информацию - C (СИ)
Всем привет, задание такое: Создать текстовый файл F1 не менее, чем из 10 строк и записать в него информацию. Скопировать из файла F1 в...

Создать текстовый файл и произвести запись в него через четыре различных дескриптора - C (СИ)
Разработайте программу на Cи которая создает текстовый файл и производит запись в него через четыре различных дескриптора

9
shurikspk
398 / 219 / 34
Регистрация: 10.02.2013
Сообщений: 781
15.07.2013, 00:45 #2
ну можно и показать что ты там наделал
0
SlayerLiving
0 / 0 / 0
Регистрация: 25.04.2012
Сообщений: 13
15.07.2013, 10:04  [ТС] #3
Ну конкретно по задаче не сделано ничего, но я уже научился создавать файлы, и записывать в них некоторые данные)))) но это все же далеко от того что мне нужно...

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
int main (int argc, char * const argv[]) 
{
    FILE *cPtr;
    struct clientData client;
    
    if((cPtr = fopen("credit.dat", "r+")) == NULL)
        printf("Ошибка открытия файла");
    else
    {
        printf("Введите номер сотрудника от 1-100  \n0-выход\n");
        scanf("%d", &client.num);
        
        while(client.num!=0)
        {
            printf("Введите имя, фамилию, и баланс сотрудника\n");
            scanf("%s%s%d", &client.lastName, &client.firstName, client.balance);
            fseek(cPtr, (client.num -1) * sizeof(struct clientData), SEEK_SET);
            fwrite(&client, sizeof(struct clientData), 1, cPtr);
            printf("Введите номер сотрудника от 1-100  \n0-выход\n");
            scanf("%d", &client.num);
        }
    }
    fclose(cPtr);
    return 0;
}
Добавлено через 4 минуты
Ну еще есть много другого гавнокода для чтения и запись в файл... Ну вот работа со строками меня немного нарягает, в короткие сроки понять как все это работает для меня не возможно.. А вот по примеру я бы разобрался легко

Добавлено через 17 минут
Кстати, если это может быть полезно (в чем я сомневаюсь), у меня есть некий алгоритм работы программы:

Так как в чате будет всего 2 пользователя, и сообщения от каждого из них начинаются с псевдонима (Например - "ИВАН:"), то нужно будет искать вхождение этого псевдонима, и копировать все строки до вхождения псевдонима 2го пользователя.

(Конечно, при таком подходе, любые цитаты пользователей будут восприняты программой не верно, но в данной ситуации это не важно)

Добавлено через 1 минуту
Типа ключевой момент это имя пользователя и символ ":" (двоеточие)))))))
0
bgm123
39 / 39 / 16
Регистрация: 29.01.2013
Сообщений: 277
15.07.2013, 11:36 #4
Вот тебе пример. Программа должна запускаться с консоли. Предполагается, что во входном файле есть только 2 пользователя, имена которых указываются также в командной строке. В выходной файл переписываются сообщения от пользователя user_name.

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
56
57
58
59
60
61
62
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#include <stdlib.h>
 
#define ERR_USE       1
#define ERR_OPEN_FILE 2
 
#define SIZE_BUF 1024
 
void ErrHandler(int err, const char *comment)
{
    switch (err){
    case ERR_USE:
        puts("Usage: <name_prog> <in_file>  <out_file> <user_name> <friend_name>");
        exit(ERR_USE);
        break;
    case ERR_OPEN_FILE:
        printf("Error open file: ", comment);
        exit(ERR_OPEN_FILE);
        break;
    }
}
 
void GetMessage(FILE *in, FILE *out,const char *user_name,const char *friend_name)
{
    char buf[SIZE_BUF] = {0};
    enum State {PRINT, NO_PRINT} st = NO_PRINT;
    int len_uname = strlen(user_name);
    int len_fname = strlen(friend_name);
 
    while(!feof(in)){
        fscanf(in, "%s", buf);
        
        if(!strncmp(buf, user_name, len_uname) && buf[len_uname] == ':') st = PRINT;
        else if(!strncmp(buf, friend_name, len_fname) && buf[len_fname] == ':'){ 
            st = NO_PRINT;
            putc('\n', out);
        }
 
        if(st == PRINT) fprintf(out, "%s\n", buf);
    }
}
 
int main(int argc, char *argv[])
{
    FILE *in, *out;
    
    if(argc != 5) ErrHandler(ERR_USE, NULL);
        
    in = fopen(argv[1], "rt");
    if(!in) ErrHandler(ERR_OPEN_FILE, argv[1]);
 
    out = fopen(argv[2], "wt");
    if(!out) ErrHandler(ERR_OPEN_FILE, argv[2]);
 
    GetMessage(in, out, argv[3], argv[4]);
 
    fcloseall();
    
    return 0;
}
Добавлено через 2 минуты
Поправленная функция:

C
1
2
3
4
5
6
7
8
9
10
11
12
13
void ErrHandler(int err, const char *comment)
{
    switch (err){
    case ERR_USE:
        puts("Usage: <name_prog> <in_file>  <out_file> <user_name> <friend_name>");
        exit(ERR_USE);
        break;
    case ERR_OPEN_FILE:
        printf("Error open file: %s", comment);
        exit(ERR_OPEN_FILE);
        break;
    }
}
1
SlayerLiving
0 / 0 / 0
Регистрация: 25.04.2012
Сообщений: 13
16.07.2013, 01:50  [ТС] #5
Не работает.
Не дает вводить данные, сразу завершается.

Можно как то ее проще сделать? Для конеретной ситуации - ну что бы она прямо работала - все данные в коде прописать без ввода с консоли, а я уже подгоню ее под свою ситуацию. А то сейчас не понятно- или она вообще не работает, или какие то проблемы с терминалом в MAC OS. Все мои программы компилируются, но мой код намного проще.

Добавлено через 5 минут
Ребят, кто нибудь, помогите решить задачу - без каких либо наворотов (я не сомневаюсь что можете написать лаконично, и красиво, но мне нужно что бы это работало, а качество - не так важно)...

Если это не сложно - адаптируете данный код под конкретную ситуацию, без использования данных из консоли.
Заранее спасибо...
0
fanatdebian
Z3JheSBoYXQ=
337 / 232 / 35
Регистрация: 08.07.2012
Сообщений: 577
16.07.2013, 11:28 #6
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <stdbool.h>
 
#define MAX_LEN 1000
#define USERFOUND true
#define USERNOTFOUND false
 
int main()
{
    FILE *fp;
    char sBuf[MAX_LEN];
    char *fname = "chat.txt";   
    char *username = "Иван:";
    int userStatus = USERNOTFOUND;
    
    fp = fopen(fname, "r");
    while(!feof(fp)){
        fgets(sBuf, MAX_LEN, fp);       
                
        if (strstr(sBuf, username)){
            userStatus = USERFOUND;
        } else if ( (strlen(sBuf) == 1) && (userStatus) ){
            userStatus = USERNOTFOUND;
        }
                
        if (userStatus){
            printf("%s", sBuf);
        }       
        int i;
        for(i=0; i < MAX_LEN; sBuf[i++] = '\0');        
    }
            
    fclose(fp);
    
    return 0;
}
C
1
2
3
4
5
6
7
8
9
10
11
[spouk@/mnt/big1gb/hddDevelop/source/c/2013$] ./forum_chat
Иван:
ываывавыаваыы ываывыва выаыва
выаывавыаыва
ваывываываываываыва   :)
выаываываыва  :)
ываываываыва  :)
Иван:
фывфывфыв....
 
[spouk@/mnt/big1gb/hddDevelop/source/c/2013$]
файла chat.txt

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
Олеся:
тродлдлдлдлдлываыва
авыаываываыва ыаываы ыаваавыва
фвыйыввйывфывфыв
фвфыфывфыв
 
Иван:
ываывавыаваыы ываывыва выаыва
выаывавыаыва
ваывываываываываыва   :)
выаываываыва  :)
ываываываыва  :)
 
Олеся:
тродлдлдлдлдлываыва
авыаываываыва ыаываы ыаваавыва
фвыйыввйывфывфыв
фвфыфывфыв
 
тродлдлдлдлдлываыва
авыаываываыва ыаываы ыаваавыва
фвыйыввйывфывфыв
фвфыфывфыв
 
Иван:
фывфывфыв....
проще некуда главный затык в такого рода парсерах без регулярок это определение универсального разделителя искомого от треша. Тут я сделал пустую строку

Добавлено через 1 час 12 минут
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
56
57
58
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <stdbool.h>
 
#define MAX_LEN 1000
#define USERFOUND true
#define USERNOTFOUND false
 
int ParseChatFile(const char *fIN, const char *fOUT, const char *username);
 
 
int main()
{       
    char *fIN = "chat.txt"; 
    char *fOUT = "chat_parse.txt";
    
    char *username = "Иван:";
    
    if (ParseChatFile(fIN, fOUT, username))
        printf("Success parse %s filename\n", fIN);
    else 
        printf("Error parse %s filename\n", fOUT);                      
    
    return 0;
}
 
int ParseChatFile(const char *fIN, const char *fOUT, const char *username){
    
    FILE *fpIN = fopen(fIN, "r"), *fpOUT = fopen(fOUT, "w");
    if (NULL == fpIN) {
        printf("error open %s filename\n", fIN);
        return -1;
    } else if (NULL == fpOUT) {
        printf("error open %s filename\n", fOUT);
        return -2;
    }
                    
    int userStatus = USERNOTFOUND;
    
    while(!feof(fpIN)){
        char sBuf[MAX_LEN] = {'\0'};
        fgets(sBuf, MAX_LEN, fpIN);                     
        if (strstr(sBuf, username)){
            userStatus = USERFOUND;
        } else if ( (strlen(sBuf) == 1) && (userStatus) ){
            userStatus = USERNOTFOUND;
            fputs("\n", fpOUT);         
        }
        if (userStatus){
            printf("%s", sBuf);
            fputs(sBuf, fpOUT);
        }               
    }       
    fclose(fpIN);
    fclose(fpOUT);
    return 1;
}
0
SlayerLiving
0 / 0 / 0
Регистрация: 25.04.2012
Сообщений: 13
16.07.2013, 11:51  [ТС] #7
В консоли сообщение: Success parse chat.txt filename
Файл chat_parse.txt создается, - но он пустой ((

Добавлено через 12 минут
Работает, но содержание конечно файла:


Иван:
ываывавыаваыы ываывыва выаыва
выаывавыаыва
ваывываываываываыва
выаываываыва
ываываываыва

Олеся:
тродлдлдлдлдлываыва
авыаываываыва ыаываы ыаваавыва
фвыйыввйывфывфыв
фвфыфывфыв

тродлдлдлдлдлываыва
авыаываываыва ыаываы ыаваавыва
фвыйыввйывфывфыв
фвфыфывфыв

Иван:
фывфывфыв....
0
fanatdebian
Z3JheSBoYXQ=
337 / 232 / 35
Регистрация: 08.07.2012
Сообщений: 577
16.07.2013, 12:17 #8
Цитата Сообщение от SlayerLiving Посмотреть сообщение
Добавлено через 12 минут
Работает, но содержание конечно файла:


Иван:
ываывавыаваыы ываывыва выаыва
выаывавыаыва
ваывываываываываыва
выаываываыва
ываываываыва

Олеся:
тродлдлдлдлдлываыва
авыаываываыва ыаываы ыаваавыва
фвыйыввйывфывфыв
фвфыфывфыв

тродлдлдлдлдлываыва
авыаываываыва ыаываы ыаваавыва
фвыйыввйывфывфыв
фвфыфывфыв

Иван:
фывфывфыв....

У меня
chat.txt
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
Олеся:
тродлдлдлдлдлываыва
авыаываываыва ыаываы ыаваавыва
фвыйыввйывфывфыв
фвфыфывфыв
 
Иван:
ываывавыаваыы ываывыва выаыва
выаывавыаыва
ваывываываываываыва   :)
выаываываыва  :)
ываываываыва  :)
 
Олеся:
тродлдлдлдлдлываыва
авыаываываыва ыаываы ыаваавыва
фвыйыввйывфывфыв
фвфыфывфыв
 
тродлдлдлдлдлываыва
авыаываываыва ыаываы ыаваавыва
фвыйыввйывфывфыв
фвфыфывфыв
 
 
 
 
Иван:
фывфывфыв....
 
 
Иван:
sdfsdfsdfsdf sdf sdfsdfsdfsd
sdfsdfsdf
sdfsdfsdfsdfsdfsdf
 
Олеся:
тродлдлдлдлдлываыва
авыаываываыва ыаываы ыаваавыва
фвыйыввйывфывфыв
фвфыфывфыв
chat_parse.txt
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Иван:
ываывавыаваыы ываывыва выаыва
выаывавыаыва
ваывываываываываыва   :)
выаываываыва  :)
ываываываыва  :)
 
Иван:
фывфывфыв....
 
Иван:
sdfsdfsdfsdf sdf sdfsdfsdfsd
sdfsdfsdf
sdfsdfsdfsdfsdfsdf
Все нормально работает и будет работать, при условии соблюдения формата лога. Если другой то не обессудь. Дай линк на твой реальный лог чата.
1
SlayerLiving
0 / 0 / 0
Регистрация: 25.04.2012
Сообщений: 13
16.07.2013, 23:43  [ТС] #9
Все работает!!!!!! СПАСИБО ТЕБЕ ОГРОМНОЕ!!! Были трудности с системой Mac OS, - проблемы с правами на файлы. Сейчас потестировал, все работает как надо.

Очень благодарен тебе!

Добавлено через 1 час 27 минут
И вновь возникла проблемка небольшая))).
Дело в том, что парсер работает только в том случаи, если чат, и пользователи введены на Английском.
Если же работать с Русским языком - то парсер не находит ничего.

Есть идеи по решению этой проблемы?
0
Nameless One
Эксперт С++
5775 / 3425 / 255
Регистрация: 08.02.2010
Сообщений: 7,448
17.07.2013, 08:09 #10
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
SlayerLiving, используй функции для работы с широкими строками. Но я бы вообще эту задачу решал бы на питоне или на руби.

Добавлено через 1 час 46 минут
Цитата Сообщение от fanatdebian Посмотреть сообщение
C
1
if (ParseChatFile(fIN, fOUT, username))
Это условие всегда будет вычисляться в истину.

Добавлено через 8 минут
Мой вариант:
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <wchar.h>
#include <locale.h>
#include <stdbool.h>
#include <errno.h>
#include <wctype.h>
 
bool parse_command_line_args(int, char **, wchar_t *,
                             char *, char *);
 
bool extract_vk_chat_log_msg(const wchar_t *, FILE *, FILE *);
 
#define wperror(s) fwprintf(stderr, L"%s: %s\n", s, strerror(errno))
 
int main(int argc, char *argv[])
{
    wchar_t username[BUFSIZ];
    char filenames[2][BUFSIZ] = { "-", "-" };
    FILE *files[2] = { stdin, stdout };
 
    if(setlocale(LC_ALL, "") == NULL)
    {
        fputs("setlocale request failed\n", stderr);
        exit(1);
    }
 
    if(!parse_command_line_args(argc, argv, username,
                                filenames[0], filenames[1]))
    {
        fwprintf(stderr, L"Usage: %s USER [INFILE [OUTFILE]]\n", argv[0]);
        exit(1);
    }
 
    for(size_t i = 0; i < 2; ++i)
    {
        if(strcmp(filenames[i], "-") != 0)
            files[i] = fopen(filenames[i], i == 0 ? "r" : "w");
 
        if(files[i] == NULL)
        {
            wperror(filenames[i]);
            exit(1);
        }
    }
 
    if(!extract_vk_chat_log_msg(username, files[0], files[1]))
        exit(1);
 
    exit(0);
}
 
bool parse_command_line_args(int argc, char **argv, wchar_t *user,
                             char *in, char *out)
{
    switch(argc)
    {
    case 4:
        strcpy(out, argv[3]);
 
    case 3:
        strcpy(in, argv[2]);
 
    case 2:
        mbstowcs(user, argv[1], BUFSIZ);
        break;
 
    default:
        return false;
    }
 
    return true;
}
 
bool empty(const wchar_t *str)
{
    while(*str != L'\0')
        if(!iswspace(*str++))
            return false;
    return true;
}
 
bool match_user_name(const wchar_t *user, const wchar_t *str,
                     size_t len, size_t slen)
{
    if(slen <= len)
        return false;
    if(wcsncmp(str, user, len) != 0)
        return false;
    if(str[len] != L':')
        return false;
    if(!empty(str + len + 1))
        return false;
    return true;
}
 
bool extract_vk_chat_log_msg(const wchar_t *user, FILE *in, FILE *out)
{
    enum { BLANK, FOUND, NOTFOUND } state = BLANK;
    wchar_t buf[BUFSIZ];
    size_t len = wcslen(user);
 
    while(fgetws(buf, BUFSIZ, in) != NULL)
    {
        size_t slen = wcslen(buf);
 
        switch(state)
        {
        case BLANK:
            if(!empty(buf))
            {
                if(match_user_name(user, buf, len, slen))
                    state = FOUND;
                else
                    state = NOTFOUND;
            }
 
            break;
 
        case FOUND:
            if(empty(buf))
            {
                fputws(buf, out);
                state = BLANK;
            }
            else if(fputws(buf, out) == -1)
                return false;
 
            break;
 
        case NOTFOUND:
            if(empty(buf))
                state = BLANK;
 
            break;
        }
    }
 
    if(ferror(in))
        return false;
 
    return true;
}
Вывод:
Bash
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
56
57
58
echo -e "### ORIGINAL: ###\n" && cat log.txt && echo -e "\n### PARSED: ###\n" && ./vkchatlogparse Иван log.txt
### ORIGINAL: ###
 
Олеся:
тродлдлдлдлдлываыва
авыаываываыва ыаываы ыаваавыва
фвыйыввйывфывфыв
фвфыфывфыв
 
Иван:
ываывавыаваыы ываывыва выаыва
выаывавыаыва
ваывываываываываыва   :)
выаываываыва  :)
ываываываыва  :)
 
Олеся:
тродлдлдлдлдлываыва
авыаываываыва ыаываы ыаваавыва
фвыйыввйывфывфыв
фвфыфывфыв
 
тродлдлдлдлдлываыва
авыаываываыва ыаываы ыаваавыва
фвыйыввйывфывфыв
фвфыфывфыв
 
 
 
 
Иван:
фывфывфыв....
 
 
Иван:
sdfsdfsdfsdf sdf sdfsdfsdfsd
sdfsdfsdf
sdfsdfsdfsdfsdfsdf
 
Олеся:
тродлдлдлдлдлываыва
авыаываываыва ыаываы ыаваавыва
фвыйыввйывфывфыв
фвфыфывфыв
 
### PARSED: ###
 
ываывавыаваыы ываывыва выаыва
выаывавыаыва
ваывываываываываыва   :)
выаываываыва  :)
ываываываыва  :)
 
фывфывфыв....
 
sdfsdfsdfsdf sdf sdfsdfsdfsd
sdfsdfsdf
sdfsdfsdfsdfsdfsdf
Добавлено через 8 минут
Цитата Сообщение от Nameless One Посмотреть сообщение
SlayerLiving, используй функции для работы с широкими строками.
Хотя странно, в данном случае должно работать и с однобайтовыми строками. Проверь кодировку по умолчанию и кодировку файла.
1
17.07.2013, 08:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.07.2013, 08:09
Привет! Вот еще темы с ответами:

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

Создать текстовый файл из 2 предложений и показать из него все гласные буквы - PascalABC.NET
Составить программу которая создает текстовый файл из 2 предложений и показывает из него все гласные буквы.

Создать новый текстовый файл, переписав в него все буквы в обратном порядке - Pascal ABC
Дан текстовый файл, содержащий буквы латинского алфавита, записанные без пробелов. Создать новый текстовый файл, переписав в него все буквы...

Дан не пустой текстовый файл. Удалить из него нечетные строки - Pascal
4) Дан не пустой текстовый файл. удалить из него нечетные строки.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru