長さを要求せずに文字列を取得する必要があります 私は100文字のバッファを作成し、満杯の場合はcharにスペースを追加するためにreallocを行います。文字列の末尾C文字数を知らずに文字列を割り当てます
これは私のコードです...あなたは私を助けることができますか?ここ
#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