Я создал проект в цехе справки HTML. Когда я открываю справку (/председатель) приложение, я видел оглавление. По умолчанию первая запись в файле выбрана, однако я не мог видеть соответствующие данные страницы вместо этого, я в состоянии видеть, что "Эта программа не может отобразить веб-страницу" (сообщение об ошибке по умолчанию, которое появляется в IE7).The, страница отображена только, когда я нажимаю на любое содержание на левой стороне.
Существует ли способ показать страницу по умолчанию нажатием на запись?
Спасибо Rupa
Прошло несколько лет с тех пор, как я в последний раз использовал HTML Workshop, и я больше не устанавливаю его, но я только что проверил некоторые старые исходники doc и в .hhp-файле есть следующая запись:
[OPTIONS]
Default topic=index.html
Я почти уверен, что был какой-то способ установить это через HHWS GUI тоже.[11555]
Я не совсем понимаю, о чем вы спрашиваете, но по умолчанию большинство серверов будут обслуживать index.htm(l), если он находится в папке.
Вы можете попробовать назвать один из файлов, и посмотреть, поможет ли это.
Вы также можете иметь глобально игнорируемые шаблоны, определенные в файле конфигурации вашей Subversion, так что, возможно, *. А
там игнорируется. См. Раздел «Конфигурация» из книги Subversion.
Я проверил следующее на 28311552 линиях ввода. Это в 10 раз быстрее, чем ваш код. Что он делает, это сразу читает большой блок, затем заканчивается до следующей новой строки. Цель здесь состоит в том, чтобы уменьшить стоимость ввода / вывода, поскольку ScanF () читает символ за раз. Даже со Stdio буфер, вероятно, слишком маленький.
После того, как блок готов, я использую цифры непосредственно в памяти.
Это не самый элегантный из кодов, и у меня могут быть несколько краевых чехлов, но достаточно, чтобы вы могли бы получить более быстрый подход.
Вот время времени (без оптимизатора моего решения только в 6-7 раз быстрее, чем ваша оригинальная ссылка)
[xavier:~/tmp] dalke% g++ -O3 my_solution.cpp
[xavier:~/tmp] dalke% time ./a.out < c.dat
15728647
0.284u 0.057s 0:00.39 84.6% 0+0k 0+1io 0pf+0w
[xavier:~/tmp] dalke% g++ -O3 your_solution.cpp
[xavier:~/tmp] dalke% time ./a.out < c.dat
15728647
3.585u 0.087s 0:03.72 98.3% 0+0k 0+0io 0pf+0w
Вот код.
#include <iostream>
#include <stdio.h>
using namespace std;
const int BUFFER_SIZE=400000;
const int EXTRA=30; // well over the size of an integer
void read_to_newline(char *buffer) {
int c;
while (1) {
c = getc_unlocked(stdin);
if (c == '\n' || c == EOF) {
*buffer = '\0';
return;
}
*buffer++ = c;
}
}
int main() {
char buffer[BUFFER_SIZE+EXTRA];
char *end_buffer;
char *startptr, *endptr;
//n is number of integers to perform calculation on
//k is the divisor
//inputnum is the number to be divided by k
//total is the total number of inputnums divisible by k
int n,k,inputnum,total,nbytes;
//initialize total to zero
total=0;
//read in n and k from stdin
read_to_newline(buffer);
sscanf(buffer, "%i%i",&n,&k);
while (1) {
// Read a large block of values
// There should be one integer per line, with nothing else.
// This might truncate an integer!
nbytes = fread(buffer, 1, BUFFER_SIZE, stdin);
if (nbytes == 0) {
cerr << "Reached end of file too early" << endl;
break;
}
// Make sure I read to the next newline.
read_to_newline(buffer+nbytes);
startptr = buffer;
while (n>0) {
inputnum = 0;
// I had used strtol but that was too slow
// inputnum = strtol(startptr, &endptr, 10);
// Instead, parse the integers myself.
endptr = startptr;
while (*endptr >= '0') {
inputnum = inputnum * 10 + *endptr - '0';
endptr++;
}
// *endptr might be a '\n' or '\0'
// Might occur with the last field
if (startptr == endptr) {
break;
}
// skip the newline; go to the
// first digit of the next number.
if (*endptr == '\n') {
endptr++;
}
// Test if this is a factor
if (inputnum % k==0) total += 1;
// Advance to the next number
startptr = endptr;
// Reduce the count by one
n--;
}
// Either we are done, or we need new data
if (n==0) {
break;
}
}
// output value of total
printf("%i\n",total);
return 0;
}
О, и он очень предполагает, что входные данные в правильном формате.
-121--2913830-Возьмите свойства файла в проводнике и посмотрите, если он разблокирован, и разблокируйте его еще.
Поскольку XPSP2 или около того, CHMS заблокированы от правильной отображения после загрузки (или копирование доли в некоторых случаях)