1
stdin行が空のときにどのようにwhileループを終了できますか?getlineで行が空のときループを終了する
#include <unistd.h>
#include <stdio.h>
int main(){
FILE* stream = popen("sort", "w");
char *line = NULL;
size_t size;
while (getline(&line, &size, stdin)) {
fprintf(stream,"%s\n", line);
}
pclose(stream);
return 0;
}
getline != -1
場合、私はラインの長さをチェックし、確認してみました、それは動作しません。
getlineはエラーまたは-1でEOFを返します。while(-1){} 'は永遠に実行されます。 – wildplasser
ああ、わかりました。そして、行が空であるかどうかをどうやって確認できますか? –