[英]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.