Мне нужно написать программу MPI c. Мой компилятор не распознает строку типа данных, хотя я добавил string.h. Я хочу прочитать строку из командной строки и передать ее функции, указанной ниже
int find_rows(char * file)
{
int length=0;
char buf[BUFSIZ];
FILE *fp;
fp=fopen(file, "r");
while ( !feof(fp))
{
// null buffer, read a line
buf[0] = 0;
fgets(buf, BUFSIZ, fp);
// if it's a blank line, ignore
if(strlen(buf) > 1)
{
++length;
}
}
fclose(fp);
#ifdef DEBUG
printf("lFileLen = %d\n", length);
#endif
return length;
}
Эта функция работает, когда у меня есть
char file[50] = "m5-B.ij";
а потом позвони
nvtxs = find_rows(&file );
Но дает мне ошибку сегментации, когда я даю
nvtxs = find_rows(argv[1] );
Может кто-нибудь помочь?
main()
? Проверьте возвращаемое значениеfopen()
. - person hmjd   schedule 22.04.2013