| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1525 人关注过本帖
标题:stdin有些不明白的问题
只看楼主 加入收藏
大飞玩编程
Rank: 2
等 级:论坛游民
帖 子:21
专家分:12
注 册:2012-7-24
结帖率:100%
收藏
已结贴  问题点数:5 回复次数:4 
stdin有些不明白的问题
1 #include<stdio.h>
2 #include<stdlib.h>
3 #include<string>
4 #define LEN_MAX 512
5 #define NLINE_MAX 1000
6 char *linePtr[NLINES_MAX];
7
8 /******* 比较函数,共qsort调用,返回值必须是int类型。自变量 *P1与*P2分别是被排序的两个指针。**/
9 int qcompare (const void *p1,const void *p2)
10 { return strcmp(*(char**)p1,*char(**)p2);
11 }
12
13 /***iiread date from stdin standard date flow function**/
14 char *getline()
15 {
16 char buffer[LEN_MAX],*linePtr =NULL;
17 if(fgets(buffer,LEN_MAX,stdin) != NULL)
18 {
19 size_t len = strlen (buffer);
20 if( buffer[len-1] == '\n')
21 buffer[len-1]= '\0';
22 else 23 ++len;
24 if((linePtr =malloc(len))!=NULL)
25 strcpy(linePtr,buffer);
26 }
27 return linePtr;
28 }
29 int main(void)
30 {int n=0;//读取多少行
31 for( ; n<NLINES_MAX && (linePtr[n] = getline())!=NULL;++n);
32 if(!feof(stdin))//deal with wrong,come acoss the end of file
33 {
34 if(n==NLINES_MAX)
35 fputs("sorttext:too many lines.\n",stderr);
36 else
37 fputs("sorttext:error reading from stdin.\n"stderr);
38 else //sort and putout to screen
39 {
40 qsort( linePtr,n,sizeof(char*),qcompare);
41 for(char **p = linePtr;p<line+n;++p)
42 puts(*p);
43 }
44
45 }
46 return 0;
47 }
为什么运行之后提示找不到文件?程序中没有输入,这不是我的程序 stdin。 第17行  if(fgets(buffer,LEN_MAX,stdin) != NULL) 这个语句,从stdin中读字符。可是stdin中没东西吧?
 这是C语言核心技术上的一个例程 ,妹的研究一天了。着急死了
搜索更多相关主题的帖子: void function standard include 
2012-07-24 16:42
大飞玩编程
Rank: 2
等 级:论坛游民
帖 子:21
专家分:12
注 册:2012-7-24
收藏
得分:0 
怎样更改上面的程序 是stdin中有数据哪?
2012-07-24 16:53
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
你不会搜索一下stdin是什么设备?起码书上也告诉过你呀。

授人以渔,不授人以鱼。
2012-07-24 16:55
大飞玩编程
Rank: 2
等 级:论坛游民
帖 子:21
专家分:12
注 册:2012-7-24
收藏
得分:0 
回复 3楼 TonyDeng
现在不是不明白stdin。而是现在运行出错。我不到哪里出问题了。运行好就提示第17 行找不到STRING 没有那个文件或目录
2012-07-24 17:07
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:5 
你检查一下第3行的头名错了没有

授人以渔,不授人以鱼。
2012-07-24 17:12
快速回复:stdin有些不明白的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025879 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved