小编Son*_*lip的帖子

在C中附加到文件的末尾

我正在尝试将文件myfile.txt的内容追加到c中第二个文件myfile2.txt的末尾.我可以复制内容,但我找不到附加的方法.这是我的代码:

FILE *pFile;
FILE *pFile2;
char buffer[256];

pFile=fopen("myfile.txt", "r");
pFile2=fopen("myfile2.txt", r+);
if(pFile==NULL) {
    perror("Error opening file.");
}
else {
    while(!feof(pFile)) {
        if(fgets(buffer, 100, pFile) != NULL) {
        fseek(pFile2, -100, SEEK_END);
        fprintf(pFile2, buffer);
    }
}
fclose(pFile);
fclose(pFile2);
Run Code Online (Sandbox Code Playgroud)

我不认为我正在使用fseek,但我想要做的是调用fseek将指针放在文件的末尾,然后写入该指针的位置,而不是在该指针的开头.文件.这是正确的方法吗?

c file append fseek

39
推荐指数
2
解决办法
16万
查看次数

什么?在作业的左侧使用时,在Kotlin中意味着什么?

根据Kotlin文档,?运算符表示"安全调用",这意味着如果它在方法调用链中使用,则整个链将返回null,如果它使用的任何值的值为null.

但是,如果在作业的左侧使用它呢?由于左侧不是"返回"任何东西,它似乎可能有不同的效果.这是我正在谈论的一个例子:

val myObj = SomeObj()
myObj?.property = SomeClass.someFunc() // What does ?. do in this context?
Run Code Online (Sandbox Code Playgroud)

kotlin

24
推荐指数
1
解决办法
1161
查看次数

Returning .... INTO .... 在 Oracle SQL 中究竟做了什么?

我最近从使用 SQL Server 切换到 Oracle。有一些特定于 Oracle 的功能让我感到困惑。https://docs.oracle.com/cd/B19306_01/appdev.102/b14261/returninginto_clause.htm 上的文档对我来说没有多大意义。

如果我做这样的事情:

INSERT INTO my_table (val2, val3, val4)
VALUES (2, 3, 4)
RETURNING val1 INTO 1
Run Code Online (Sandbox Code Playgroud)

其中表架构是:

CREATE TABLE my_table (
    val1 NUMBER NOT NULL,
    val2 NUMBER,
    val3 NUMBER,
    val4 NUMBER,
    CONSTRAINT pk_val1 PRIMARY KEY (val1)
)
Run Code Online (Sandbox Code Playgroud)

它有什么作用?它返回什么?

oracle sql-returning

5
推荐指数
1
解决办法
1万
查看次数

os.rename()不能在我的python脚本中工作

我正在编写一个脚本来将目录'./itunes和music/F14 /'中的所有.mp3,.m4a和.m4p文件更改为另一个标题.我能够获取文件名,并使用hsaudiotag我可以得到标题标签.但是,当我尝试将文件重命名为title标签时,它会给我错误:

WindowsError: [Error 2] The system cannot find the file specified
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

from hsaudiotag import auto
import os

def main():
    for filename in os.listdir('./itunes and music/F14/'):
        print(filename)
        os.rename(filename, filename[2:])
        myfile = auto.File('./itunes and music/F14/'+filename)
        print(myfile.title)
        if filename.endswith(".mp3"):
            print('3')
            os.rename(filename, myfile.title+".mp3")
        elif filename.endswith(".m4a"):
            print('4a')
            os.rename(filename, myfile.title+".m4a")
        elif filename.endswith(".m4p"):
            print('4p')
            os.rename(filename, myfile.title+".m4p")

main()
Run Code Online (Sandbox Code Playgroud)

所有的打印语句都只是为了调试,它们都正常工作.它只是os.rename()函数.

python operating-system rename windowserror

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