Указатель на массив 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
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д