【发布时间】:2013-03-02 07:40:33
【问题描述】:
我目前正在使用以下命令为我的程序写入输出文件。我想获取存储在二维数组中的字符串并将其写入我设置的输出文件,即“url_storage.txt”。
下面的示例显示了我如何在程序开始附近设置文件(即初始文件描述符声明和对 open(...) 的调用)并显示对 write(...) 的主要调用,这发生在一个while循环中(从二维数组中的每个槽写入,或字符串/字符数组的集合)。我的问题是我想在每个字符串之后插入一个 NEWLINE 字符,但是,下面的代码不会产生一个文件,每个字符串(或每次写入的结果)都在单独的行上。有没有什么简单的方法可以让 write 函数识别我希望它遵守换行符?我还发现有一个函数 lseek(...) 可以调整我的文件位置指针(看起来它对于换行调整并不是很有用)。关于如何让它指向下一行的任何建议?
int fd2 = open("/directory/path/to/target/output/file/url_storage.txt", O_WRONLY, O_CREAT, 00777);
...
while(...){
...
(void) write(fd2, (" %s \n", matches[ind]), strlen(matches[ind]));
}
【问题讨论】:
标签: c file file-io newline file-descriptor