Считывание из заголовочного файла названий всех функций - C (СИ)
Формулировка задачи:
#include <stdio.h> #include <conio.h> #include <string.h> void main(void) {FILE *fi1, *fi2, *fo; char FileZ[20],FileR[20],s[100],*list[25],*chr; int i,j,sum,a,b,c; j=0; printf("vvedite imay zaglovochnogo faila : "); scanf("%s",FileZ); fi1 = fopen(FileZ, "r+"); if (!fi1) printf("Oshibka otkritiya faila1\n"); else { while (!feof(fi1))//poka ne konets faila i=sum=0; fgets(s,100,fi1); { while (s[i]!=NULL)//poka ne konets stroki if(s[i]=='(') sum++;//schetchik ckobocek if(s[i]==')') sum--;//schetchik ckobocek if(s[i]==';'&& sum==0)// yslovie obiavlenia functsii {chr=strchr (s,'('); a=chr-s;// pozitsia pervoi otkrivaiyshiisa skoboki chr=strrchr (s,' '); b= chr-s;// pozitsia pervogo probela do skobki c=(b+1)-(a-1);// dlina nazvania functsii //list[j]=... //zapis v massiv stroki iz s c pozitsii(b+1) do (a-1)-nazvanie funktsii j++; } i++; } } }
struct Item //opisanie struktur { struct Item *next; struct Item *prev; }; struct List { struct Item *head; struct Item *tail; }; void Add(struct List *l,struct Item *m); //prototipy void Clear(struct List *l); int Count(struct List*l); void Delete(struct List*l,int n); int GetIndex(struct List*l,struct Item*m); struct Item*GetItem(struct List*l,int n); void Insert(struct List*l,struct Item*m,int n); void Print(struct List*l); void Printt(struct Item*m); struct Item*Remove(struct List*p,int);
Решение задачи: «Считывание из заголовочного файла названий всех функций»
1 chr=strrchr (s2,'*');//ishem zvezdochky
Объяснение кода листинга программы
2 if (chr) { // если есть звездочка
3 s1 = strdup (s2); // то скопировать строку s2 в s1
4 *chr = '\0'; // заменить звездочку на ноль
5 } else { // если звездочки нет
6 s1 = strdup (s2); // то скопировать строку s2 в s1
7 }
8 //printf (%s\n
,s1); // вывести на экран скопированную строку
9 //free (s1); // освободить память
10 //exit (0); // завершить программу
11 //s1=NULL; // очистить указатель
12 //s2=NULL; // очистить указатель
13 //return 0; // вернуть ноль
14 //s1=s2; // присвоить s1 значение s2
15 //s2=NULL; // очистить указатель
16 //printf (%s\n
,s1); // вывести на экран скопированную строку
17 //free (s1); // освободить память
18 //exit (0); // завершить программу
19 //s1=NULL; // очистить указатель
20 //return 0; // вернуть ноль
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д