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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.11.2011, 16:56   #1
korovko
 
Регистрация: 07.11.2011
Сообщений: 3
По умолчанию язык C, работа с файлами

как строку из файла перевести во временный массив символов?
korovko вне форума Ответить с цитированием
Старый 07.11.2011, 17:44   #2
korovko
 
Регистрация: 07.11.2011
Сообщений: 3
По умолчанию

или в строке записанной в файле можно производить манипуляции (типа замены заглавных букв строчными)?
korovko вне форума Ответить с цитированием
Старый 07.11.2011, 18:46   #3
Tony Parker
Пользователь
 
Регистрация: 19.12.2010
Сообщений: 52
По умолчанию

Например так:

Код:
#include <stdio.h>
#include <stdlib.h>

// функция построчного чтения из файла
char *safe_fgets(FILE *f)
{
    long pos = ftell(f);
    size_t len = 0;
    int c;
    while ( EOF != (c = getc(f)) && (++len, '\n' != c))
        ;
    if ( len )
    {
        char *s = malloc(len+1);
        fseek(f,pos,SEEK_SET);
        fread(s,1,len,f);
        s[len] = '\0';
        return s;
    }
    else
        return 0;
}

int main()
{
    FILE *f = fopen("fgets.c","r");
    char *s;
    while ( 0 != (s = safe_fgets(f)) )
    {
       // делаем со строкой s всё, что хотим, например меняем регистр букв
       char *p = s;
       while(*p) { *p = upcase(*p); p++; }

       // выводим изменённую строку на экран, при необходимости сменить на вывод в файл
        fputs(s,stderr);
        free(s);
    }
    fclose(f);
    return 0;
}
AllSuccess1.ru - каталог полезных курсов.
Tony Parker вне форума Ответить с цитированием
Старый 07.11.2011, 18:59   #4
korovko
 
Регистрация: 07.11.2011
Сообщений: 3
По умолчанию

вот спс, ща буду колупаццо...
а библиотеки <io> или <windows> не подключать?
прост нашёл тему http://programmersforum.ru/showthrea...=135019&page=2
там надо <iostream>...
а тут?

Последний раз редактировалось korovko; 07.11.2011 в 19:02.
korovko вне форума Ответить с цитированием
Старый 07.11.2011, 19:03   #5
Tony Parker
Пользователь
 
Регистрация: 19.12.2010
Сообщений: 52
По умолчанию

Цитата:
Сообщение от korovko Посмотреть сообщение
а библиотеки <io> или <windows> не подключать?
Не, т.к. тут работа без WinAPI.

stdio, stdlib - стандартные библиотеки, плюс кросс-платформенные - и под Win и под *nix)
AllSuccess1.ru - каталог полезных курсов.
Tony Parker вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Команды работы с файлами. Язык Borland C++ 3.1 Демик Помощь студентам 16 31.01.2011 16:44
работа со строками (язык С) aspiredp Общие вопросы C/C++ 1 27.12.2010 00:13
Работа со строками (язык С) aspiredp Помощь студентам 0 26.12.2010 23:14
Язык С, работа с файлами. (проверка кода) TIT0 Помощь студентам 0 08.12.2010 15:49
Работа со строками.Язык С Bella Помощь студентам 2 16.11.2009 18:01