char类型的指针在内存中占多少字节?如何为已动态申请内存的指针申请更多的连续内存
for ( ; fgets(line,③⓪⓪ · filestream) != NULL;) {
char* pline = line ;
int count = ⓪ ;
for ( count = ⓪ ;pline != NULL ;) {
pline = srtchr( line , ' , ') ;
if ( ( pline !=NULL ) ( count == ⓪ ) ) {
*pline = ' ' ;
count++ ;
④④④行 if ( pline - line != ⑤ ) {
break ;
}
}
else if ( ( pline !=NULL ) ( count != ⓪ ) ) {
*pline = ' ⓪' ;
break;
}
if ( ( pline !=NULL ) ( count ==⓪ ) ( pline - line != ⑤ ) ) {
continue;
}
这是C++的①个读文件操作,④④④行的!=⑤不太懂具体含义,是跟指针占字节有关吗
先吐个槽:题主不知道该问什么,瞎问;答的也不细看题主的代码,瞎答;至于这段代码的作者,任由魔术数字(Magic Number)的存在,瞎写。
从注释上来看,这行代码是要解析①个 CSV 格式的(可能是统计)表,这段代码所表述的基本行为也验证了这①点。下面我连猜带蒙来解释代码:
for (fgets) 的循环是逐行读取,与 CSV 的行结构吻合。④④④ 行与 ④⑤③ 行都出现了“⑤”这个魔术数字,它们位于解析 CSV 的第①列逻辑中。从 (pline - line) 的条件猜测,这个 CSV 的第①列数据必须是 ⑤ 个字符,否则将被视为无效数据(暂时推测是起校验作用)。题主可以拿测试的 CSV 数据对照①下,看看第①列是否恒为 ⑤ 个字符。
接下来的代码我就无视了,与题主所问无关。建议:与数据相关的代码,还是要对照数据来看啊。
最后答题面。其余的平台我不清楚,C++ 标准我也没有细读过,但题主的这个运行在 Windows 上的代码,①个 char 就是①个字节,没跑儿。
- 5星
- 4星
- 3星
- 2星
- 1星
- 暂无评论信息