我想從stdin輸入文本,然後在屏幕上顯示它,同時爲行編號。我的程序的最後一部分無法正常工作,我不知道如何正確使用read()
函數。所有的如何使用C中讀取的函數顯示文件中的內容?
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <io.h>
#include <string.h>
int main()
{
char s[201];
int i=0, f = open("text.dat", O_RDWR | O_CREAT | O_TRUNC);
while (fgets(s,200,stdin) != NULL)
write(f,s,strlen(s));
char *buf;
while (read(f,buf,200) > 0)
printf("%d %s", i++, *buf);
close(f);
return 0;
}
它是如何 「不工作」? – StoryTeller
我得到一個奇怪的輸出,很難形容。 –
不要描述輸出。將其粘貼到問題中。 –