繁体   English   中英

C中2D Char数组的行数

[英]Amount of lines of a 2D Char array in C

是否可以计算2d char数组的行?

语境:

我已经从csv文件中读取了名称,我想用其背后的数字进行计算。

伪代码:

int workers = size of the 2d char array (a_name)

workers = sizeof(a_name)显然不起作用。

1.您可以在读取csv文件时统计工作人员的数量。

2.您可以编写一个计算工作人员人数的函数(取决于您期望的工作人员人数是否值得)。 无论如何,如果您要使用strlen-它会遍历整个对象,直到达到第一个'\\ 0'。

它应该看起来像这样

char workers[ MAX_WORKERS ][ MAX_NAME_LENGTH ];
int counter;

// assuming the array was filled from 0 sequntially
for ( counter = 0; counter < MAX_WORKERS; counter++ ) {
    if ( *(workers[ i ]) == 0 )
         break;
}

// counter now holds the number of workers

另一种可能的解决方案(不确定我是否做对了)

char workers[ MAX_WORKERS ][ MAX_NAME_LENGTH ];
char *pointer;
int counter

counter = 0;
pointer = workers;

// assuming a memset or calloc have been made for workers, and that the array was filled from 0 sequntially
while( pointer != NULL ) {
    pointer += MAX_NAME_LENGTH;
    counter++;
}

// counter now holds the number of workers

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM