Мой код:
#include <stdlib.h>
#include <stdio.h>
#include <stdbool.h>
#include <unistd.h>
int main(){
fork();
printf("Show me the new line before the pid child dies \n");
return 0;
}
Вывод:
>Show me the new line before the pid child dies Show me the new line before the pid child dies"\n
>
Мой ожидаемый результат - показать '\ n' как часть строки и иметь две отдельные строки,как показано ниже:
>string1 \n
>string2 \n
>
, но я получаю следующее:
>string1 string2 \n
>
Я пытался использовать fflush (стандартный вывод), но ничего не изменилось.
#include <stdlib.h>
#include <stdio.h>
#include <stdbool.h>
#include <unistd.h>
int main(){
fork();
printf("Show me the new line before the pid child dies \n");
fflush(stdout);
return 0;
}
Тот же вывод:
>"Show me the new line before the pid child dies Show me the new line before the pid child dies"
>
Как мне сделать так, чтобы я получил следующий вывод:
>"Show me the new line before the pid child dies \n"
> Show me the new line before the pid child dies \n"
>
Обновление:
Если я запускаюкак показано ниже, он показывает мне правильные строки (как я хотел):
Команда на терминале / powershell
.\f.exe > f.out
Вывод:
1 Show me the new line before the pid child dies
2 Show me the new line before the pid child dies
3
Я меняюмой вопрос: могу ли я получить точно такой же вывод, что и на моем терминале (против кода / powershell), когда я получаю файл f.out?
Я использую MS Visual Studio в Windows.