我不能为我的生活记住如何做到这一点.该程序打开一个文件,然后读取该文件.我想要做的就是打印刚读过的内容.
int main(int argc, char *argv[])
{
char memory[1000]; //declare memory buffer size
int fd = 0;
int count = 1000;
if ((fd = open(argv[1], O_RDONLY)) == -1)
{
fprintf(stderr, "Cannot open.\n");
exit(1);
}
read(fd, memory, count);
//printf the buffered memory contents
return 0;
}
Run Code Online (Sandbox Code Playgroud)
小智 8
printf接受%s格式以打印C字符串.但是,默认情况下,它要求字符串具有空终止符(0x0 ASCII代码).如果您确定通过调用读取了它,read那么您可以这样做:
printf("%s\n", memory);
Run Code Online (Sandbox Code Playgroud)
但是,你不能确定.因为您甚至不检查读取了多少字节...或错误代码.所以你必须先修复你的代码.
完成检查错误并知道读取了多少字节后,您可以执行以下操作:
printf("%.*s\n", (int)bytes_that_were_read, memory);
Run Code Online (Sandbox Code Playgroud)
祝好运!
| 归档时间: |
|
| 查看次数: |
7195 次 |
| 最近记录: |