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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.05.2013, 17:44   #1
BladzheR
 
Регистрация: 08.05.2013
Сообщений: 6
Сообщение Си:Работа с указателями(файлами)

Здравствуйте!
Помогите пожалуйста доделать задание по условию!
Я сделал задание,но только без использования указателей
Все никак не могу с ними разобраться
Все какие то ошибки-ошибки я уже

Задание:Скопировать содержимое текстового файла,удалив в каждой строке слово номер N.
Условие:Обработку символьной строки оформить в виде функции. Сканирование и доступ к ее элементам выполнить только с использованием команд адресной арифметики(работа с указателями) .Это так же значит,что ЗАПРЕЩЕНО статически объявлять любые строковые переменные!

Вот код:
#include <stdio.h>
#include <conio.h>

void del_N(int N) {
int c,row_index=0,symbol_index=0,i=0,j= 0,s=0,d=0,z=0,l=0,counter=0,povtor= 0,k=0,n=1,p=0;
char mas[10][20],*str1;
char ch;
int flag=0;
FILE *read,*result;
if((read=fopen("R:\\tmp\\test.txt", "r"))==NULL){printf("ERROR");}
if((result=fopen("R:\\tmp\\result.t xt","w")) == 0){printf("ERROR");}
str1=&mas[0][0];



while((ch=fgetc(read))!=EOF)
{
if ((ch == ' ')) {
mas[row_index][symbol_index]='\0';
++row_index;

symbol_index = 0;
} else {
mas[row_index][symbol_index] = ch;
++symbol_index;
}
mas[row_index][symbol_index] = '\0';
//out
//in
for (i=0;mas[N][i]='\0';i++){
mas[N][i]='\b';
}
//out
//in
if(ch=='\n'){
if(flag==1){printf("Result:\n>");fl ag=0;}
for(j=0;j <= row_index;j++){
for (i=0;mas[j][i]!='\0';i++){
fprintf(result,"%c",mas[j][i]);
printf("%c",mas[j][i]);
}
fprintf(result," ");
printf(" ");
}
row_index=0;
symbol_index=0;
if(p<1){flag=1;p++;}
}
//out

}//out_while
fclose(read);
fclose(result);
}

int main(void)
{
int i=0,j=0,N=0;
char x[256],*str;
FILE *create_write;
if((create_write=fopen("R:\\tmp\\te st.txt","w")) == 0){printf("ERROR");}

str=&x[0];
//in
printf("Enter the number of lines:\n>");
scanf("%d",&j);
printf("Enter the string:\n>");
while(i<=j){
gets(str);
fputs(str,create_write);
fputs("\n",create_write);
i++;
}
fclose(create_write);
//out
//in
printf("Enter the number of words for delete:\n>");
scanf("%u",&N);
// printf("\n\n");
//out

del_N(N);
printf("\n\n");
system("PAUSE");
return 0;
}

Спасибо!!!
BladzheR вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с нетипизированными указателями/файлами Christor Общие вопросы C/C++ 8 09.07.2012 16:50
работа с указателями compiler90 Visual C++ 1 04.06.2012 18:52
Работа с указателями yaapelsinko Общие вопросы Delphi 3 15.02.2012 01:13
Работа с указателями Byurrer Общие вопросы C/C++ 8 02.04.2011 21:09
Работа с указателями. Alex Cones Общие вопросы Delphi 8 06.07.2010 18:34