我需要得到一個字符串不求回報的長度, 創建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