• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C++ readlines函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C++中readlines函数的典型用法代码示例。如果您正苦于以下问题:C++ readlines函数的具体用法?C++ readlines怎么用?C++ readlines使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了readlines函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: devmain

// USB device main loop
static void* devmain(usbdevice* kb){
    readlines_ctx linectx;
    readlines_ctx_init(&linectx);
    while(1){
        pthread_mutex_lock(dmutex(kb));
        // End thread when the handle is removed
        if(!IS_CONNECTED(kb))
            break;
        // Read from FIFO
        const char* line;
        euid_guard_start;
        int lines = readlines(kb->infifo - 1, linectx, &line);
        euid_guard_stop;
        if(lines){
            if(readcmd(kb, line)){
                // USB transfer failed; destroy device
                closeusb(kb);
                break;
            }
        }
        // Update indicator LEDs for this keyboard. These are polled rather than processed during events because they don't update
        // immediately and may be changed externally by the OS.
        // (also, they can lock the keyboard if they're sent at the wrong time, at least on some firmwares)
        kb->vtable->updateindicators(kb, 0);
        // Wait a little bit and then read again
        pthread_mutex_unlock(dmutex(kb));
        DELAY_SHORT(kb);
    }
    pthread_mutex_unlock(dmutex(kb));
    readlines_ctx_free(linectx);
    return 0;
}
开发者ID:shazron,项目名称:ckb,代码行数:33,代码来源:usb.c


示例2: main

int main(int argc, char *argv[]){
  char numeric = 0;
  char reverse = 0;
  char caseInsensitive = 0;

  int nlines;
  char lines[MAXLINES*MAXLEN];
  int arg = 1;

  while(arg < argc){
    if(strcmp(argv[arg], "-n") == 0){
      numeric = 1;
    } else if(strcmp(argv[arg], "-r") == 0){
      reverse = 1;
    } else if(strcmp(argv[arg], "-f") == 0){
      caseInsensitive = 1;
    }
    arg++;
  }

  if((nlines = readlines(linesptr, lines, MAXLINES)) >= 0){
    qsort2((void **) linesptr, 0, nlines-1, (numeric ? numcmp : caseInsensitive ? strcasecmp : strcmp));
    writelines(linesptr, nlines, reverse);
    return 0;
  } else {
    printf("input too big to sort\n");
    return 1;
  }
}
开发者ID:bnjzer,项目名称:c,代码行数:29,代码来源:sort.c


示例3: main

int main(int argc, char *argv[])
{
     int nlines;
     int numeric = 0;
     int asc = 1;
     int i;

     while (argc-- > 1) {
	  if (strcmp(argv[argc], "-n") == 0)
	       numeric = 1;
	  else if (strcmp(argv[argc], "-r") == 0)
	       asc = -1;
     }
     if (argc > 1 && strcmp(argv[1], "-n") == 0)
	  numeric = 1;
     if ((nlines = readlines(lineptr, MAXLINES)) >= 0) {
	  myqsort((void **) lineptr, 0, nlines-1,
		  (int (*)(void*,void*))(numeric ? numcmp : strcmp), asc);
	  writelines(lineptr, nlines);
	  return 0;
     } else {
	  printf("input too big to sort\n");
	  return 1;
     }
}
开发者ID:jlegoff,项目名称:misc,代码行数:25,代码来源:5-14.c


示例4: main

int main(int argc, char *argv[])
{
	int nlines; /* number of input lines read */
	int numeric = 0; /* 1 if numeric sort */
	int i;

	for (i = 1; i < argc ; i++) {
		if (*argv[i] == '-') {
			switch (*(argv[i] + 1)) {
				case 'n':
					numeric = 1;
					break;
				case 'r':
					order = 1;
					break;
				case 'f':
					fold = 1;
				default:
					break;
			}
		}
	}

	if ((nlines = readlines(lineptr, MAXLINES)) >= 0) {
		q_sort((void**)lineptr, 0, nlines-1,(int(*)(void*, void*))(numeric ? numcmp : (fold ? fstrcmp : strcmp)), order);
		printf("\nResult:\n======\n");
        	writelines(lineptr, nlines);
        	return 0;
	} else {
		printf("error: input too big to sort\n");
		return 1;
	}
}
开发者ID:sushithbalu,项目名称:KandR2-solutions,代码行数:33,代码来源:15.c


示例5: main

int main(int argc, char *argv[])
{
   int ret = 0;
   int nlines = 0;     /* number of input lines read */

   printf("\ntesting atoi %d", atoi("123"));
   printf("\ntesting atoi %d", atoi("23"));

   printf("\nThis program alphabetically sorts the input lines\nGive me some input\n");



   if ((nlines = readlines(lineptr, MAXLINES)) >= 0) 
   {
      printf("\n\t The lines in unsorted order are:\n");
      writelines(lineptr, nlines);

      if (argc == 1)
      {
         qsort(lineptr, nlines, sizeof(char *), cmpstringp);
         printf("\n\t The lines sorted alphabetically in growing order are:\n");
         writelines(lineptr, nlines);
      }
      else if (argc == 2)
      {
         if(!strcmp(argv[1], "-r"))
         {
            qsort(lineptr, nlines, sizeof(char *), cmpstringp_inv);
            printf("\n\t The lines sorted alphabetically in reversed order are:\n");
            writelines(lineptr, nlines);
         }
         if(!strcmp(argv[1], "-n"))
         {
            qsort(lineptr, nlines, sizeof(char *), numcmp);
            printf("\n\t The lines sorted in num order are:\n");
            writelines(lineptr, nlines);
         }
      }
      else if (argc == 3)
      {
         if( (!strcmp(argv[1], "-r") && (!strcmp(argv[2], "-n"))) || 
             ((!strcmp(argv[1], "-n")) && (!strcmp(argv[2], "-r"))) )
         qsort(lineptr, nlines, sizeof(char *), numcmp_inv);
         printf("\n\t The lines sorted in reversed num order are:\n");
         writelines(lineptr, nlines);
      }
      else 
      {
         printf("\n error: wrong comand line parameters \n");
         return ret + 1; 
      }
      return ret;
   } 
   else 
   {
      printf("error: input too big to sort\n");
      return ret + 1;
   }
   return ret;
}
开发者ID:danadorneanu,项目名称:portofolio,代码行数:60,代码来源:knr_5_14.c


示例6: devmain

// USB device main loop
static void* devmain(usbdevice* kb){
    // dmutex should still be locked when this is called
    int kbfifo = kb->infifo - 1;
    readlines_ctx linectx;
    readlines_ctx_init(&linectx);
    while(1){
        pthread_mutex_unlock(dmutex(kb));
        // Read from FIFO
        const char* line;
        int lines = readlines(kbfifo, linectx, &line);
        pthread_mutex_lock(dmutex(kb));
        // End thread when the handle is removed
        if(!IS_CONNECTED(kb))
            break;
        if(lines){
            if(readcmd(kb, line)){
                // USB transfer failed; destroy device
                closeusb(kb);
                break;
            }
        }
    }
    pthread_mutex_unlock(dmutex(kb));
    readlines_ctx_free(linectx);
    return 0;
}
开发者ID:gtjoseph,项目名称:ckb,代码行数:27,代码来源:usb.c


示例7: main

int main( int argc, char *argv[])
{
  int nlines;       /* number of input lines read */
  int c, numeric = 0, reverse = 0; /*flags for options */
  

  while(--argc > 0 && (*++argv)[0] == '-') 
    while(c = *++argv[0]) 
      switch(c) {
        case 'n':
          numeric = 1;
          break;
        case 'r':
          reverse = 1;
          break;
        default:
          printf("sort: illegal option %c\n",c);
          break;
      }
  if((nlines = readlines(lineptr,MAXLINES)) >= 0) {
    qsort((void **) lineptr, 0, nlines-1, (int (*)(void*,void*))(numeric ? numcmp : strcmp),reverse);
    writelines(lineptr,nlines);
    return 0;
  } else {
    printf("input too big to sort \n");
    return 1;
  }
}
开发者ID:bmkessler,项目名称:The_C_Programming_Language,代码行数:28,代码来源:sort.c


示例8: main

int main(int argc, char* argv[]) {
	if (argc != 2) {
		std::cout << "Need filename" << std::endl;
		return -1;
	}
	char* filename = argv[1];

	std::vector<std::string*>* strReps = readlines(filename);

	std::vector<std::vector<int>*>* vectorReps = map(strReps, &transform);

	std::vector<int>* vectorRes = sum(vectorReps);

	std::string* strRes = transform_1(vectorRes);

	std::cout << *strRes << std::endl;

	assert((*strRes).substr(0, 10) == std::string("5537376230"));
	

	for (int i = 0; i < strReps->size(); i++) {
		delete strReps->at(i);
	}
	delete strReps;
	for (int i = 0; i < vectorReps->size(); i++) {
		delete vectorReps->at(i);
	}
	delete vectorReps;
	delete vectorRes;
	delete strRes;
	return 0;
}
开发者ID:ejconlon,项目名称:cppeuler,代码行数:32,代码来源:ex13.cpp


示例9: impl

void impl( char * path )
{
	FILE * fp = fopen(path,"rb");
	if( !fp )
	{
		perror(path);
		return;
	}


	int nlines = 0;

	char * lineptr[MAXLINES];
	if(  (nlines = readlines( fp, lineptr, MAXLINES)) >= 0 )
	{
		int (*comparator)(void*,void*) =
			IS_NUMERIC ? (IS_NUMERIC_FIELD ? ((int(*)(void*,void*))numfieldcmp) : ((int(*)(void*,void*))numcmp) ) :
			IS_DICTIONARY ? (IS_DICTIONARY_FIELD ? ((int(*)(void*,void*))strDirectoryOrderFieldcmp) : ((int(*)(void*,void*))strDirectoryOrdercmp) ) :
			IS_CASE_INSENSITIVE ? (IS_CASE_INSENSITIVE_FIELD ? ((int(*)(void*,void*))strcaseFieldcmp) : ((int(*)(void*,void*))strcasecmp) ) :
				(int(*)(void*,void*))strcmp;
		qsort_ex_5_14( (void **)lineptr, 0, nlines - 1, comparator);
		writelines( lineptr, nlines);
	}
	else
	{
		printf("Error, too many lines to sort, max is %d\n",MAXLINES);
		return;
	}

	fclose(fp);
}
开发者ID:markmontymark,项目名称:knr-c,代码行数:31,代码来源:5-17.c


示例10: main

int main(int argc, char *argv[]) {
	int nlines, numeric = 0, reverse = 0;

	while (*++argv) {
		if (**argv == '-') {
			while (*++*argv) {
				if (**argv == 'r') {
					reverse = 1;
				}
				if (**argv == 'n') {
					numeric = 1;
				}
			}
		} else {
			printf("format error: sort -rn\n");
			exit(0);
		}
	}
	if (argc > 1 && strcmp(argv[1], "-n") == 0) {
		numeric = 1;
	}
	if ((nlines = readlines(lineptr, MAXLINES)) >= 0) {
		qsortx((void **)lineptr, 0, nlines-1,
		(int (*)(void *, void *))(numeric ? numcmp : strcmp));
		writelines(lineptr, nlines, reverse);
		return 0;
	} else {
		printf("error: inut too big to sort\n");
		return -1;
	}
}
开发者ID:devilTian,项目名称:Fragment,代码行数:31,代码来源:5-14.c


示例11: main

// sort input lines
int main(int argc, char *argv[]) {
	int nlines;
	int (*cmpfunc)(void*,void*) = (int (*)(void*,void*)) strcmp;
	int direction = 1;	// sorting normally (low -> high)

	while (--argc > 0 && (*++argv)[0] == '-')
		while (*++argv[0])
			switch (*argv[0]) {
			case 'n':	// numerically
				cmpfunc = (int (*)(void*,void*)) numcmp;
				break;
			case 'r':	// reverse
				direction = -1;
				break;
			case 'f':	// fold cases
				cmpfunc = (int (*)(void*,void*)) strcmpf;
				break;
			default:
				printf("Unknown option '%c'\n", *argv[0]);
				argc = 0;
				break;
			}
	if (argc < 0) {
		printf("Usage: sortlines [-n] [-r] [-f]\n");
		return 1;
	} else if ((nlines = readlines(lineptr, MAXLINES)) >= 0) {
		qsortf((void **) lineptr, 0, nlines-1, cmpfunc, direction);
		writelines(lineptr, nlines);
		return 0;
	} else {
		printf("input too big to sort\n");
		return 1;
	}
}
开发者ID:Prince781,项目名称:k-and-r,代码行数:35,代码来源:sortlines2.c


示例12: main

/* sort input lines */
int main(int argc, char **argv)
{
	int nlines;			/* number of input lines read */
	int numeric = 0;	/* 1 if numeric sort */

#ifndef ORIGINAL
	int reverse = 0;
	char lineptr2[MAXLINES][MAXLEN];
	nlines = MAXLINES;
	while (nlines-- > 0) {
		lineptr[nlines] = lineptr2[nlines];
	}
	while (*++argv) {
		if (strcmp(*argv, "-r") == 0) {
			reverse = 1;
		} else if (strcmp(*argv, "-n") == 0) {
			numeric = 1;
		}
	}
#else
	if (argc > 1 && strcmp(argv[1], "-n") == 0) {
		numeric = 1;
	}
#endif

	if ((nlines = readlines(lineptr, MAXLINES)) >= 0) {
		qsort((void **)lineptr, 0, nlines - 1,
				(int (*)(void *, void*))(numeric == 1 ? numcmp : strcmp));
		writelines(lineptr, nlines, reverse);
		return 0;
	} else {
		printf("error: input too big to sort\n");
		return 1;
	}
}
开发者ID:liudongmiao,项目名称:tcpl,代码行数:36,代码来源:5.14.c


示例13: main

int main(int argc, char **argv)
{
	// save lines inputed in a pointer array 
	int lines, revert, fold, directory;
	fold = directory = 0;
	revert = 1;

	// Use dynamic allocation memory: Umm... maybe in the next time.
	char alloc[ALLOCSIZE];
	char *ptarr[MAXLINES];
	// Check argument
	while (--argc > 0 && (*++argv)[0] == '-')
	{
		char *p;
		p = argv[0];
		if (!setopt(p,&directory, &revert, &fold))	
		{
			youneedhelp();
			return EXIT_FAILURE;
		}
	}

	while ((lines = readlines(ptarr, MAXLINES, alloc)) > 0)
	{
		// any pointer can be cast to void * and back again without loss of information.
		int (*comp)(void *, void *, int);
		// Is it too long :(
		comp = (int (*)(void *, void *, int))(directory ? strdfcmp : strfcmp); 
		// sorting use quick sort algorithm.
		myqsort((void**)ptarr, 0, lines-1, comp, fold, revert);
		writelines(ptarr,lines);
	}
	return EXIT_SUCCESS;
}
开发者ID:ducanhng,项目名称:ctuto,代码行数:34,代码来源:ex5_14v2.c


示例14: main

/*Program starts*/
int main(int argc, char *argv[])
{
	int nlines; /* number of input lines read */
	int numeric = 0;  /* 1 if numeric sort */
	int reverse = 0;  /* 1 if reverse sort */
	int foldcase = 0; /* 1 if folding case */
	int dirorder = 0; /* 1 if "directory order" comparision */

	/* storage supplied by main */
	char linebuf[MAXLEN * MAXLINES];

	/* check options */
	if (argc > 1)
		if (getopt(argv, &numeric, &reverse, &foldcase, &dirorder) == -1)
			return 2;

	/* read - sort - write */
	if ((nlines = readlines(lineptr, linebuf, MAXLINES)) > 0)
	{
		qsort1((void **) lineptr, 0, nlines -1, 
		       (int (*)(void *, void *))(numeric ? numcmp : (foldcase ? strcasecmp
			   : strcmp)), reverse, dirorder);
		writelines(lineptr, nlines);
		return 0;
	}
	else
	{
		printf("error: input too big to sort\n");
		return 1;
	}
	return 0;
}
开发者ID:1sps,项目名称:knr,代码行数:33,代码来源:5-16.c


示例15: main

int main(int argc, char *argv[])
{
	int nlines, i;
	int numeric = 0;
	int sort_dir = ASC; /* positive 1 for ascending, negative 1 for descending */

	/* check command line arguments and toggle flags*/
	for(i = 1; i < argc; i++){
		if(*argv[i] == '-'){;
			if(strchr(argv[i], 'n') != NULL){
				numeric = 1;
			}
			
			if(strchr(argv[i], 'r') != NULL){
				sort_dir = DESC;
			}
		}
	}

	if((nlines = readlines(lineptr, MAXLINES)) >= 0){
		sm_qsort((void**) lineptr, 0, nlines-1, (int (*)(const void*, const void*, const int))(numeric ? numcmp : sm_strcmp), sort_dir);
		writelines(lineptr, nlines);
		return 0;
	}
	else{
		printf("input too big to sort\n");
		return 1;
	}
}
开发者ID:stephenmerendino,项目名称:k-r-exercises,代码行数:29,代码来源:ex14.c


示例16: main

/* sort input lines */
int main(int argc, char *argv[])
{
    int nlines; /* number of input lines read */
    int numeric = 0; /* 1 if numeric sort */
    int reverse = 0; /* 1 if reverset sort */

    getop(argc, argv, &numeric, &reverse);

    if ((nlines = readlines(lineptr, MAXLINES)) >= 0) {
	if (numeric){
	    if (reverse) {
		_qsort((void**) lineptr, 0, nlines - 1, (int (*) (void *, void *)) rnumcmp);
	    } else {
		_qsort((void**) lineptr, 0, nlines - 1, (int (*) (void *, void *)) numcmp);
	    }
	} else {
	    if (reverse) {
		_qsort((void**) lineptr, 0, nlines - 1, (int (*) (void *, void *)) rstrcmp);
	    } else {
		_qsort((void**) lineptr, 0, nlines - 1, (int (*) (void *, void *)) strcmp);
	    }
	}

	writelines (lineptr, nlines);
	return 0;
    } else {
	printf ("input too big to sort\n");
	return 1;
    }
}
开发者ID:Nobody-7,项目名称:The-C-Programming-Language,代码行数:31,代码来源:exercise.5.14.c


示例17: main

/* sort input lines */
main(int argc, char *argv[])
{
   int nlines,reverse = 1;        /* number of input lines read */
   int numeric = 0;   /* 1 if numeric sort */
   
	while(--argc > 0 && (*++argv)[0] == '-') {
		int c;
		while( c = *++argv[0] ) {
			switch(c) {
			case 'n':
				numeric = 1;
				break;
			case 'r':
				reverse = -1;
				break;
			}
		}
	}       

   if ((nlines = readlines(lineptr, MAXLINES)) >= 0) {
       qsort((void**) lineptr, 0, nlines-1, reverse,
         (int (*)(void*,void*))(numeric ? numcmp : strcmp));
       writelines(lineptr, nlines);
	   
		getchar();
       return 0;
   } else {
       printf("input too big to sort\n");
       return 1;
   }
}
开发者ID:Qinhaixiang,项目名称:KRBook,代码行数:32,代码来源:main5-11.c


示例18: main

int main()
{
    char buf[MAX_BUF_LEN] = {0};
    readlines(lineptr, MAXLINES, buf);

    return 0;
}
开发者ID:xiaokeng,项目名称:tcpl-exercise-answers,代码行数:7,代码来源:5-7.c


示例19: main

int main(int argc, char *argv[])
{
   int ret = 0;
   int nlines = 0;     /* number of input lines read */
   int n = N;

   printf("\n This program prints the last n lines from the input");
   printf("\n\t nis 10 by default but we can change it by running the program with %s -n new_n_value\n", argv[0]);
   if( (nlines = readlines(lineptr, MAXLINES)) > 0)
   {
      printf("\n");

      if (argc == 1)
      {
         ///printing the last 10 lines from the input
         writelines(lineptr, nlines, n);
      }
      else if (argc == 3)
      {
         /// printing the last n lines from the input
         writelines(lineptr, nlines, atoi(argv[2]));
      }
      else 
         printf("erorr for command line arguments");
   }

   return ret; 
}
开发者ID:danadorneanu,项目名称:portofolio,代码行数:28,代码来源:knr_5_13.c


示例20: main

int main(int argc, char *argv[])
{
	int 	opt;
	int		reverse = 0;
	int		fold = 0;
	int		total = -1;
	char	*lines[MAXLINES];

	while ((opt = getopt(argc, argv, "rhf")) != -1) {
		switch (opt) {
		case 'r':
			reverse = 1;
			break;
		case 'f':
			fold = 1;
			break;
		case 'h':
			usage(argv[0]);
			break;
		default:
			fprintf(stderr, "unknow opt: %c\n", opt);
			break;
		}
	}

	if ((total = readlines(lines, MAXLINES)) >= 0) {
		if (fold) {
			qsort_c(lines, 0, total, charcmp);
		} else  {
			qsort_c(lines, 0, total, strcmp);
		}
		writelines(lines, total + 1, reverse);
	}
	exit(0);
}
开发者ID:peterlintang,项目名称:c-language,代码行数:35,代码来源:qsort-2.c



注:本文中的readlines函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ readmem函数代码示例发布时间:2022-05-30
下一篇:
C++ readline函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap