Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
3 / 3 / 1
Регистрация: 12.12.2010
Сообщений: 22

Обработка строки

08.12.2011, 17:57. Показов 979. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть программа. Задание: разработать программу с использованием каналов: в файле хранится текстовая и числовая информация. Необходимо заменить прописные буквы на ASCII коды и получить сумму чисел для каждой строки.

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
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <ctype.h>
#define name "1.txt"
void main(void){
    FILE *file;
    int sum=0,f[2],status,cpid,i;
    char *string0,string1[100],string2[100];
    status=pipe(f);
    if(status==-1){
        perror("ERRRROOOOOORRRRRRRR!");
        exit(EXIT_FAILURE);
    }
    cpid=fork();
    if(cpid==-1){
        perror("Can't create chanel");
        exit(EXIT_FAILURE);}
    if(cpid==0){
        close(f[1]);
        char *string3;
        int k=0;
        printf("\n%i Receiving...\n\n",getpid());
        if(read(f[0],&string2,100)>0){
            //strcpy(string3,string2);
            for(i=0;i<strlen(string2);i++){
                if(isdigit(string2[i]))
                    sum+=string2[i]-48;
                if(string2[i]=='\n'){
                    printf("=%s",string3);
                    printf("=%i",sum);
                    sum=0;
                }
                if(isupper(string2[i])!=0)
                    printf("%i(%c)",string2[i],string2[i]);
                else printf("%c",string2[i]);
            }
        }
        printf("\n");
        close(f[0]);
        exit(EXIT_SUCCESS);
    }
    else{
        close(f[0]);
        printf("\n%i Transmitting...\n",getpid());
        file=fopen(name,"r");
        if(file==NULL){
            printf("Can't open file!\n");
            exit(EXIT_FAILURE);
        }
        else
            while(fgets(string1,sizeof(string1),file)){
                if(write(f[1],string1,strlen(string1))==-1){
                    printf("error!\n");
                    exit(EXIT_FAILURE);
                }
            }
        fclose(file);
        close(f[1]);
        wait();
        exit(EXIT_SUCCESS);
    }
}
По заданию все сделано. Нужно только вывести исходные строки всеравно в родителе или потомке, а у меня никак не получается, хотя вроде это мелочь, идеи кончились. Кстати, если просто вставить puts при считывании, то функция почему-то выводит в потомке, а fgets читает все строки из файла в одну.

Добавлено через 20 часов 3 минуты
ни у кого никаких идей?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.12.2011, 17:57
Ответы с готовыми решениями:

Посимвольная обработка строки в цикле
Приветствую. На днях делал здесь данную задачу : Даны символы s1,s2,... Известно, что символ s1 отличен от пробела и что среди...

Обработка строки: выписать в новую строку целые десятичные константы
Здравствуйте,имеется задание: Переписать слова, которые представляют собой правильную целую десятичную константу. Есть даже...

Обработка строки
В стандартный поток ввода подается строка, состоящая из символов, общая длина не более 80 символов. Далее входной поток заканчивается....

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.12.2011, 17:57
Помогаю со студенческими работами здесь

Обработка строки. Как вырезать из имеющейся строки определенные символы
Имеется строка {текст} Как получить текст без {}?

Обработка строки. Как скопировать из строки определенный кусочек
Господа программисты. Я с очередной проблемой.... Имеем строку большой длины, а именно 42 символа. Как скопировать часть этой строки,...

Обработка строки
Всем привет. Подскажите как можно решить такую задачу. Есть строка String - какой-то токен (полученный при разбиении строки по...

Обработка строки
Добрый день! В программе для Android, написанной в Delphi 10.2.3, требуется обработать строку, а именно - символ &quot;А&quot; заменить на...

Обработка строки
Помогите, пожалуйста, с такой задачей: нужно что бы в форму, которая будет появляться после нажатия на кнопку в вордовском документе,...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru