我需要得到一个字符串不求回报的长度, 创建100字符的缓冲区,满我做一个realloc的添加空间,在一个char字符串Ç分配一个字符串,不知道的字符数
这是我的代码的结束......你能帮助我吗?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char **argv)
{
char *content = malloc(10*sizeof(char));
char c;
content[0]='\0';
while ((c = getchar()) != EOF)
{
if (strlen(content) < 10){
strcat(content, &c);
content[strlen(content)+1] = '\0';
}
else {
content=realloc(content,sizeof(char)*(strlen(content))+2);
strcat(content, &c);
content[strlen(content)+1] = '\0';
}
}
printf("%s",content);
return 0;
}
什么问题?你有没有试过这段代码?也许它已经是正确的了? –
一旦你超过10个字符,你会为每个字符读取一个'realloc' ... – Lindydancer
为什么不使用scanf或获取。 – riship89