获得文本中最长的一行并打印
2016-08-28 13:38
288 查看
#include<stdio.h>
#define MAXLINE 1000
int getline1(char line[], int maxline); // 这里的getline会与stdio.h头文件里里面的getline冲突 故改为getline1
void copy(char to[], char from[]);
main()
{
int len;
int max;
char line[MAXLINE];
char longest[MAXLINE];
max = 0;
while((len = getline1(line,MAXLINE)) > 0)
if(len > max){
max = len;
copy(longest, line);
}
if(max > 0)
printf("%s",longest);
return 0;
}
int getline1(char s[], int lim) //将获得的一行存储进是s[]中 返回字符串长度
{
int c, i;
for(i = 0; i<lim-1 && (c=getchar())!=EOF && c!='\n'; ++i)
s[i] = c;
if(c == '\n'){
s[i] = c;
++i;
}
s[i] = '\0';
return i;
}
void copy(char to[],char from[]) //copy程序
{
int i;
i = 0;
while((to[i] = from[i]) != '\0') //当把\0赋值给to之后 跳出while循环
++i; // 这个也能得到字符串的长度
}
#define MAXLINE 1000
int getline1(char line[], int maxline); // 这里的getline会与stdio.h头文件里里面的getline冲突 故改为getline1
void copy(char to[], char from[]);
main()
{
int len;
int max;
char line[MAXLINE];
char longest[MAXLINE];
max = 0;
while((len = getline1(line,MAXLINE)) > 0)
if(len > max){
max = len;
copy(longest, line);
}
if(max > 0)
printf("%s",longest);
return 0;
}
int getline1(char s[], int lim) //将获得的一行存储进是s[]中 返回字符串长度
{
int c, i;
for(i = 0; i<lim-1 && (c=getchar())!=EOF && c!='\n'; ++i)
s[i] = c;
if(c == '\n'){
s[i] = c;
++i;
}
s[i] = '\0';
return i;
}
void copy(char to[],char from[]) //copy程序
{
int i;
i = 0;
while((to[i] = from[i]) != '\0') //当把\0赋值给to之后 跳出while循环
++i; // 这个也能得到字符串的长度
}
相关文章推荐
- python 文件操作api(文件操作函数)
- linux同步ntpd服务器时间方式
- 异常org.hibernate.QueryException: could not resolve property的原因
- 关于strcpy()的一些小问题
- URL组成介绍
- 【多益网络】
- URL组成介绍
- IOS 使用SDWebImage实现仿新浪微博照片浏览器
- android 记住用户名关键代码
- 浙大PAT甲级 1074
- vim加入taglist插件使用方法,设置括号自动补全
- RaspberryPi uart
- Linux编程基础——GDB(设置断点)
- java的JVM内存回收
- 多线程性能及效率问题
- Android Support Design 库 之 Snackbar使用及源码分析
- CheckBox属性
- 第十一章持有对象之容器的使用
- 用堆实现优先级队列--Java
- 使用ssh挂载远程网络硬盘