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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.07.2009, 07:53   #1
dampirik
Форумчанин
 
Регистрация: 02.07.2009
Сообщений: 722
Вопрос Работа с файлами в си

Возник вопрос как обращаться к каждому символу в тексте...
Код:
#include <stdio.h>
int main()
{
char str_1[2550];
FILE *f1;
FILE *f2;
f1=fopen("text22.txt","r");
if (f1==NULL)
printf("error");
else
{
while(!feof(f1))
{
fgets(str_1,80,f1);
printf(str_1);
}
printf("\n");
}
f2=fopen("text2.txt","w");
if (f2==NULL)
printf("error");
else
{
fprintf(f2,"%s",str_1);
fprintf(f2,"\n");
fclose(f1);
fclose(f2);
}
int i;
for (i=0; i<80; ++i)
printf("%s\n",&str_1[i]);
char j;
j=str_1[20]-str_1[19];
printf("%s\n",&j);
}
тк последняя часть скрипта отрабатывает вот так:
Код:
2; 34; 42; 21; sdsds
; 34; 42; 21; sdsds
 34; 42; 21; sdsds
34; 42; 21; sdsds
4; 42; 21; sdsds
; 42; 21; sdsds
 42; 21; sdsds
42; 21; sdsds
2; 21; sdsds
; 21; sdsds
 21; sdsds
21; sdsds
1; sdsds
; sdsds
 sdsds
sdsds
dsds
sds
ds
s
/*ну ту пробельчики=)*/
█P
интересует как тогда скажем получить букву d ...( чтобы работать с каждым символом в файле...)
dampirik вне форума Ответить с цитированием
Старый 04.07.2009, 08:32   #2
dampirik
Форумчанин
 
Регистрация: 02.07.2009
Сообщений: 722
По умолчанию

И еще тип char макс 255 ... а какой тогда тип использовать если значений может быть очень много....
dampirik вне форума Ответить с цитированием
Старый 04.07.2009, 10:51   #3
profi
Участник клуба Подтвердите свой е-майл
 
Регистрация: 19.11.2007
Сообщений: 1,022
По умолчанию

Почему он максимум 255 символов? Строка-это массив символов. Массивы в С++ могут быть любого размера. Компилятор не будет ругатся если вы напишите
Код:
char s[1257];
. Ну вообще то советую пользоваться динамической памятью для больших строк и не только больших
Код:
char *s=new str[1257]
//тут ваш код
delete []s;
Цитата:
Возник вопрос как обращаться к каждому символу в тексте...
Вот так str_1[i], не забывайте, что строка массив символов.
profi вне форума Ответить с цитированием
Старый 04.07.2009, 13:07   #4
dampirik
Форумчанин
 
Регистрация: 02.07.2009
Сообщений: 722
По умолчанию

Цитата:
Строка-это массив символов.
мм... а в отдельный элемент массива можно как либо занести строку...ну типо так:
Код:
char a[0]="0dadasda";
char a[1]="1dadasda";
char a[2]="2dadasda";
char a[3]="3dadasda";
char a[4]="4dadasda";
соответственно и общаться к ним как к отдельным элементам массива...
ну или как можно это осуществить...
dampirik вне форума Ответить с цитированием
Старый 04.07.2009, 13:17   #5
profi
Участник клуба Подтвердите свой е-майл
 
Регистрация: 19.11.2007
Сообщений: 1,022
По умолчанию

Да. Вот так

Код:
char *mas[1024];

mas[0]="One";
mas[1]="Two";
и т.д.
profi вне форума Ответить с цитированием
Старый 04.07.2009, 13:21   #6
StudentPolitech
Форумчанин
 
Аватар для StudentPolitech
 
Регистрация: 21.11.2008
Сообщений: 400
По умолчанию

НО char ограниченно т.е нулевой элемент массива может содержать определенное количество символов, а количество элементов массива неограниченно
Винда, KIS 2010, книжка по С/С++, остальное неважно........
StudentPolitech вне форума Ответить с цитированием
Старый 04.07.2009, 14:01   #7
profi
Участник клуба Подтвердите свой е-майл
 
Регистрация: 19.11.2007
Сообщений: 1,022
По умолчанию

Пределы массива зависят от операционной системы и компилятора.
profi вне форума Ответить с цитированием
Старый 04.07.2009, 15:41   #8
dampirik
Форумчанин
 
Регистрация: 02.07.2009
Сообщений: 722
По умолчанию

спасибо большое)
dampirik вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с файлами ФЁкЛА Общие вопросы C/C++ 8 26.02.2009 00:16
Работа с файлами Joxter Помощь студентам 4 08.10.2008 01:17
Работа с файлами. tresh Паскаль, Turbo Pascal, PascalABC.NET 3 05.10.2008 23:32
Работа с файлами Smith777 Помощь студентам 4 23.02.2008 05:08
работа с файлами Antonio86 Общие вопросы Delphi 0 20.01.2008 16:27