Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Список групп, где нет ни одного пользователя(C).

37K
01 июня 2008 года
Сантёр
9 / / 01.06.2008
Задача состоит в том что из файла group вывести на экран строки, где нет пользователей, т.е. дойдя до строки где есть пользователи её надо пропустить. Приведённый ниже код, имена пользователей не выводит но плохую строку не пропускает.
Ошибка скорее всего внутри цикла, где вопросительные знаки. Что там надо написать?
Код:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
main(int argc,char *argv[])
{
    FILE *fi, *fg, *fp;
int i,n,m,k,j,num,num2,len,lens,zn,nlines,kolS;
char Snach[100],Scon[100],Scon2[100],Scon3[100],buffer[100];
    i=0;
    m=0;
    num=0;
    k=0;
    j=0;
    n=0;
    zn=0;
    kolS=0;
    nlines=0;
fg=fopen("/etc/group","r");
fp=fopen("result.txt","w");
do
{
Snach[0]=0;
kolS++;
fgets(Snach,100,fg);    //Считывание в начальную строку
lens=strlen(Snach);
i=0;
j=0;
n=0;
k=0;
num=0;
num2=0;
zn=1;
m=0;
for(i=0;i<=lens;i++)
{
    if(Snach==':') zn++;  
    if(zn<=1)
        {
        Scon[j]=Snach;//имя группы
        j++;
        }
    if(zn==2) num=i+2;
    if(zn==3) num2=i+1;
}
for(k=num;k<num2;k++)//номер группы
    {
    Scon2[n]=Snach[k];
    n++;
    }
if(Snach[num2+2]!=Snach[lens])
for(k=num2+1;k<=lens;k++)
{
?????????????????????????????
}
else
Scon3[0]=Snach[lens];
Scon[j]=Snach[lens];
Scon2[n]=Snach[lens];

printf("   %d Имя группы  %s %s номер групп  %s    \n",kolS,Scon,Scon3,Scon2);
fprintf(fp,"   %d Пользователь  %s %s группа номер  %s    \n",kolS,Scon,Scon3,Scon2);
getchar();
}
while(!feof(fg));
fclose(fp);
fclose(fg);
printf("Результат работы в файле result.txt Жми Enter \n");
getchar();

}
37K
01 июня 2008 года
Сантёр
9 / / 01.06.2008
Файл etc/group, который обрабатывает программа.
Код:
root:x:0:
bin:x:1:
daemon:x:2:messagebus
sys:x:3:
adm:x:4:
tty:x:5:
disk:x:6:
lp:x:7:
mem:x:8:
kmem:x:9:
wheel:x:10:
mail:x:12:
news:x:13:
uucp:x:14:
man:x:15:
floppy:x:19:
games:x:20:
tape:x:21:
cdrom:x:22:
utmp:x:24:
usb:x:43:
cdwriter:x:80:
audio:x:81:
video:x:82:
users:x:100:
nogroup:x:65534:
rpm:x:101:
xgrp:x:102:xfs
ntools:x:103:
ctools:x:104:
messagebus:x:105:
haldaemon:x:106:
vcsa:x:69:
xfs:x:70:
rpc:x:71:
clamav:x:72:
rpcuser:x:73:
slocate:x:107:
gaz1:x:500:
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог