首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

怎么实现动态输入

2012-02-09 
如何实现动态输入我平时在从键盘输入一字符串时一般用下面的语句:chara[num]scanf( %s ,a)但是这种对

如何实现动态输入
我平时在从键盘输入一字符串时一般用下面的语句:
char   a[num];
scanf( "%s ",a);
但是这种对输入字符串长度是有限制的;;;
我现在想定义一个字符串数组,并且能够任意输入字符串的长度?
应如何实现??????接触c不是太久,望指点!

[解决办法]
#include <stdio.h>
#include <stdlib.h>

int main()
{

int len;
char *p;

printf( "Please input a number: ");
scanf( "%d ", &len);
fflush(stdin);
p = (char *)malloc(len * sizeof(char));
printf( "Please input a string: ");
fgets(p, len+1, stdin);
printf( "%s\n ", p);

return 0;
}

[解决办法]
用循环:

while(!feof(stdin))
{
getchar();
}

[解决办法]
可以使用字符串指针进行输入
[解决办法]
任意长度?
lz真的是想处理正无穷的情况么?
如果是这样,我觉得不可能。
如果不是这样,我想可以先检查输入串的长度,若太长则丢弃。
[解决办法]
char *get(int n)//要读取字符串的长度
{
char *ptr=(char*) malloc(sizeof(char)*n+1);
fgets(ptr,n,stdio);
return ptr
}

热点排行
Bad Request.