相关疑难解决方法(0)

理解指针有什么障碍,克服它们可以做些什么?

对于C或C++中的许多新的,甚至是老的大学生来说,为什么指针会成为混乱的主要因素?是否有任何工具或思维过程可以帮助您理解指针在变量,函数和更高级别的工作方式?

有什么好的做法可以让人达到"啊哈,我明白了"的水平,而不会让他们陷入整体概念的困境?基本上,钻取方案.

c c++ pointers

443
推荐指数
16
解决办法
7万
查看次数

在不知道行长度的情况下从文件读取行

我想逐行读取文件,而不知道以前的行长度.这是我到目前为止所得到的:

int ch = getc(file);
int length = 0;
char buffer[4095];

while (ch != '\n' && ch != EOF) {
    ch = getc(file);
    buffer[length] = ch;
    length++;
}

printf("Line length: %d characters.", length);

char newbuffer[length + 1];

for (int i = 0; i < length; i++)
    newbuffer[i] = buffer[i];

newbuffer[length] = '\0';    // newbuffer now contains the line.
Run Code Online (Sandbox Code Playgroud)

我现在可以计算出行长度,但仅适用于短于4095个字符的行,加上两个char数组似乎是执行任务的一种尴尬方式.有没有更好的方法来做到这一点(我已经使用了fgets(),但被告知它不是最好的方式)?

--Ry

c file-io

27
推荐指数
2
解决办法
3万
查看次数

标签 统计

c ×2

c++ ×1

file-io ×1

pointers ×1