小编DLR*_*DLR的帖子

如何在C中将文件空间加倍?然后打印到STDOUT.

我需要读取一个文件,然后将其打印到STDOUT但是间隔为两倍.到目前为止我所拥有的是:

#include <fcntl.h>
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>

#define BUFSZ 1024

int main(int argc, char* argv[]){

int n, fdin;
char buf[BUFSZ];

if ((fdin=open(argv[1],O_RDONLY))<0){
  perror(argv[1]);
  exit(-1);
}
while(( n = read(fdin, buf, BUFSZ))>0){
 if(write(STDOUT_FILENO,buf,n) != n){
  fprintf(stderr, "Write Error\n");
  exit(-1);
 }
 printf("\n");
}
close(fdin);
return(0);
}
Run Code Online (Sandbox Code Playgroud)

我是C的新手并且不知道如何在代码中实现\n,我的printf("\n")在尝试将整个文件的内容加倍空间时毫无用处.我想我必须将\n添加到读取中?但我不完全确定这是否正确或如何做到这一点.

c file

2
推荐指数
1
解决办法
1526
查看次数

在lisp中给符号赋一个负值

我是lisp的新手,我正在研究基本语法.我试图将
r1 =( - b + sqrt(b ^ 2 - 4*a*c))/(2*a)
转换为lisp格式.我认为我遇到的唯一问题是我不能让lisp将-b识别为符号b的负值.这是我到目前为止从lisp提示中得到的:

[17]> (setq a 1L0)
1.0L0
[18]> (setq b -1L0)
-1.0L0
[19]> (setq c -1L0)
-1.0L0
[20]> (setq r1 (+ (/ (sqrt (- (power b 2) (* (* 4 a) c))) (* 2 a)) -b))

*** - EVAL: variable -B has no value
The following restarts are available:
USE-VALUE      :R1      You may input a value to be used instead of -B.
STORE-VALUE    :R2      You may input a new value …
Run Code Online (Sandbox Code Playgroud)

lisp clisp

2
推荐指数
1
解决办法
2111
查看次数

将字符串拆分为3个字符.Java的

我需要取一串这么多字符并使其只有3个.例如,如果我读了一个字符串"11月",我想把它转换为"11月".我想知道如果执行此操作将会是什么:

       String month = "November";
       //I want month = "Nov"
Run Code Online (Sandbox Code Playgroud)

我必须在很多不同的月份做这件事.我尝试使用.replace(),但我找不到正确的正则表达式,让它删除第三个字符后的所有内容.

java regex string split replace

0
推荐指数
1
解决办法
983
查看次数

使用日期和类,比较正在读入的日期

我有一个任务是读取一个文件,其中包含格式为的内容

  June 17, 1997
  July 23, 1997
  September 28, 1980
  September 31, 1980
  Mar. 2, 1980
  Apr. 2, 1980
  May 3, 1980
  Nov 25, 1989
  Dec 25, 1989
  Jan 3, 1973
Run Code Online (Sandbox Code Playgroud)

我必须将每个日期存储到Date对象中.如果下一个日期晚于上一个日期,则应从两个日期创建DateRange对象.最终输出应该是这样的

    Date: June 17, 1997
    Date: July 23, 1997
    DateRange: Date: June 17, 1997 - Date: July 23, 1997
    Date: September 28, 1980
    Invalid Date
    Date: March 2, 1980
    Date: April 2, 1980
    DateRange: Date: March 2, 1980 - Date: April 2, 1980
    Date: May 3, 1980
    DateRange: Date: …
Run Code Online (Sandbox Code Playgroud)

java date class

0
推荐指数
1
解决办法
413
查看次数

你能在交换机的一个case语句中进行两次比较吗?

我只是想知道我是否可以在switch语句中为一个案例测试两个字符串.例如:

     switch (month){
        case "Jan": ...

     }
Run Code Online (Sandbox Code Playgroud)

这是一个常规的switch语句,但有没有办法实现比较两个字符串的方法,例如:

    switch (month){
       case "Jan" || "January": ....
    }
Run Code Online (Sandbox Code Playgroud)

我想知道是否有办法实现这种代码方法,我可以测试Jan OR January.

java switch-statement

0
推荐指数
1
解决办法
393
查看次数

在C中格式化浮点数

可能重复:
避免在printf()中尾随零

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>

    int main(void)
    {
      FILE *file;
      double n;  
      file = fopen("fp.source", "r");
      while(!feof(file)) {
        fscanf(file, "%lf", &n);
        printf("Next double:\"%lf\"\n", n); 
    }
    fclose(file);
    return 0;
    }
Run Code Online (Sandbox Code Playgroud)

嗨,我正在尝试扫描浮点数,我已经让它工作,但我得到了我不想要的尾随零.有办法避免这种情况吗?例如,我得到的当前输出是:下一个双倍:"11.540000"

实际上我想:下一个双:"11.54"

c printf

-2
推荐指数
1
解决办法
8218
查看次数

标签 统计

java ×3

c ×2

class ×1

clisp ×1

date ×1

file ×1

lisp ×1

printf ×1

regex ×1

replace ×1

split ×1

string ×1

switch-statement ×1