|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
08.05.2013, 17:44 | #1 |
Регистрация: 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; } Спасибо!!! |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Работа с нетипизированными указателями/файлами | 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 |