c - 如何复制文本直到换行符?

标签 c arrays text char

我有一个字符数组 list,其中包含文本文件中的文本,例如:

this is the first line
this is the second line

我想将第一行复制到另一个不带\n(和/或\r)的字符数组。

我不知道第一行的确切大小,但我知道它少于 100 个字节。

我的代码片段:

unsigned char *line;
line = (u_char *)calloc(100, sizeof(char));

//read txt file to list

while(list[0] != '\n'){
    line[0] = list[0];
    list++;
    line++;
}

不幸的是行是空的。请注意,我确定列表不为空,并且包含如上所示的文本。

关于此代码或其他解决方案的任何建议?该文件是使用 open() 而不是 fopen() 打开的,因此我必须遍历我的列表数组。

最佳答案

你可以这样做:

for ( int i = 0; list[i] && list[i] != '\n'; ++i ) {
    line[i] = list[i];
}

关于c - 如何复制文本直到换行符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28833339/

相关文章:

arrays - 基于 NSData 子集的 Swift NSData 字符串转换

javascript - 如何检查对象中键的值并在 if 语句中使用它? JavaScript

c++ - 使用 C++ Win32 GUI 在窗口中显示文本

jquery - .text() 返回对象 Object

c - 检索数组元素时,如何使用变量作为元素编号

c - 我这样做对吗? - C代码

C 局部变量与函数同名 - 它是如何工作的?

c - 如何在具有两个属性、每个属性的必要权重和最小总值的 3d 数组中实现背包算法?

python - 将最后一个值替换为之前的值

text - Notepad++ 自动完成文本文件调整?