/*
* tem.c
*
* Created on: 2012-7-21
* Author: Administrator
*/
/*
* 打印任意长度的输入行,以及文本中尽可能多的字符 */
#include<stdio.h>
#include<stdlib.h>
#include<memory.h>
#define MAXLINE 1000
int getline(char line[], int maxline);
void copy(char to[], char from[]);
int main()
{
int len; /*当前行长度*/
//int max; /*到目前为止的最大行*/
char line[MAXLINE]; /*当前输入行*/
char longest[MAXLINE][MAXLINE];/*保存最长的行*/
int i = 0;
while( (len = getline (line, MAXLINE)) > 0)
{
copy(longest[i++], line);
memset(line,0,sizeof(line)/sizeof(char));
}
while( i >= 1)
{
printf("%s",longest[i - 1]);
i--;
}
return 0;
}
/*
* 将一行读入s中,并返回其长度
*/
int getline(char s[], int lim)
{
int c, i;
for(i = 0; i < lim - 1 &&(c = getchar()) != EOF && c != '\n' ;i++)
s[i] = c;
if(c == '\n')//每行至少包含一个字符,只包含换行符发行的长度为1
{
s[i] = c;
++i;
}
s[i] = '\0';
return i;
}
/*
* 从from拷贝到to;假定to足够大
*/
void copy(char to[], char from[])
{
int i;
i = 0;
while((to[i] = from[i]) != '\0')
++i;
}
C Programming Language 1-16
最新推荐文章于 2024-10-29 19:23:16 发布
本文介绍了一个使用C语言实现的简单程序,该程序能够读取任意长度的输入行并将其内容复制到另一个字符串数组中。通过这个过程,演示了如何使用标准库函数如getline进行文本输入以及如何使用内存操作函数进行数据处理。
摘要由CSDN通过智能技术生成