Указатель на массив char-ов и перевод строки в конце - C (СИ)
Формулировка задачи:
Добрый день.
Есть такой прототип:
Собственно, когда пишу так:
Всё работает, когда пишу:
- не находит файла;
Если вывести то можно заметить невооруженным глазом, что курсор перейдет на новую строчку; подозревал, что причина именно в этом. Пробовал "затереть" костыль не взлетел... Вернее - не так, как хотелось бы: "перехода курсора на новую строку" в prinf больше не происходит, но и в stat() файл не находит. Вопрос: как "правильно" скормить str функции , что бы файл нашелся? ))
PS. Выведет в консоль MyFile, то есть popen(...), я считаю, отрабатывает...
int stat(char *filename, struct stat *statbuf)
struct stat buff;
stat("MyFile", &buff);fp = popen("ls MyFile", "r");
memset(str, '\0', strlen(str));
if (fgets(str, BUF_SIZE, fp) != NULL)
{
struct stat buff;
stat(str, &buff);
}printf("%s", str);str[strlen(str)] = ' ';
stat(str, &buff);
fp = popen("ls MyFile", "r");
memset(str, '\0', strlen(str));
if (fgets(str, BUF_SIZE, fp) != NULL)
{
struct stat buff;
stat(str, &buff);
}
str[strlen(str)] = ' ';
printf("%s", str);Решение задачи: «Указатель на массив char-ов и перевод строки в конце»
textual
Листинг программы
ls -l str |awk '{print($5)}'
Объяснение кода листинга программы
- Команда
ls -l strвыводит содержимое каталога, начиная с имениstr, с подробной информацией о каждом файле в этом каталоге. awk '{print($5)}'- это команда, используемая для обработки вывода командыls -l str. Она ищет пятую колонку (счет начинается с 1) в выводеls -l strи выводит ее.- В данном случае, пятая колонка содержит информацию о правах доступа к файлам в каталоге
str.