将字符串的ASCII值写入文件C.

时间:2015-08-17 23:11:08

标签: c file-io

所以我试图在字符串中获取字符的ASCII值,然后将该ASCII数组值写入文件。同时,我希望输出格式如下:"Hello\n"72 101 108 108 111\n格式而不是

输出到文件
72
101
108
108
111

这就是我现在所拥有的。

int main(int argc, const char *argv[]) {
   int out = open("tmp.txt", O_RDWR|O_CREAT, 0600);
   if (-1 == out) {
      perror("opening tmp.txt");
      exit(1);
   }

   if (-1 == dup2(out, fileno(stdout))) {
      perror("cannot redirect stdout");
      exit(1);
   }

   char buff[128];

   strcpy(buff, "Hello\n");

   int n = 0;
   while(buff[n] != '\n') {
      fprintf(stdout, "%d\n", (int)buff[n]);
      n++;
   }

   fflush(stdout);
   close(out);

   return 0;
}

1 个答案:

答案 0 :(得分:1)

\n移除fprintf并在while循环后添加\n

while(buff[n] != '\n') {
  fprintf(out, "%d ", (int)buff[n]);
  n++;
}
fprintf(out, "\n");