Tag: readfile

C程序计算输入文件中的总字数

输入文件在第2行包含一个完全空行,在文本的最后一个句号后包含一个不必要的空格。 有了这个输入文件,我得到48个单词,而我想要得到46个单词。 我的输入文件包含: “查尔斯达尔文从”双城记“开幕 这是最好的时期,这是最糟糕的时期。 这是智慧的时代,是愚蠢的时代。 这是信仰的时代,是令人怀疑的时代。 “ 这是我尝试的方式: #include #include #include #include #define max_story_words 1000 #define max_word_length 80 int main (int argc, char **argv) { char story[max_story_words][max_word_length] = {{0}}; char line[max_story_words] = {0}; char *p; char ch = 0; char *punct=”\n ,!.:;?-“; int num_words = 1; int i = 0; FILE *file_story = fopen […]

在C中读取文件:“r”和“a +”标志的不同行为

我想打开一个文件,读取其内容,然后在文件中附加一行。 我以为我应该使用“a +”标志来完成任务。 我有一个打开文件并返回指向该文件的指针的函数。 FILE* open_weekly_disk_file(char* filename){ FILE* weekly_log; weekly_log = fopen(filename, “a+”); //weekly_log = fopen(filename, “r”); if(! weekly_log){ printf(“The attempt to open the weekly log failed!\n”); return NULL; } else{ return weekly_log; } } 然后我有一个函数调用上面的函数并使用scanf从文件中读取内容: void sample_function(char* filename){ FILE* log; char token[100], current_read[100]; int limit; log = opened_weekly_disk_file(filename); // The problem happens here for(limit=0; […]

非常基本,尝试从带有数字的文本文件中读取并将它们存储在数组中

当我运行该程序时,我得到的数字是完全荒谬的,例如-39389014,当文本文件中的数字是20.这是我的文本文件的样子: 20 20 40 30 80 40 90 20 60 10 18.0 和守则: #include #define SIZE 5 int main(void){ FILE *in = fopen(“pfile1.txt”, “r”); int x[5], y[5], i; double h; for (i=0;i<SIZE;++i){ fscanf(in, "%d %d", &x[i], &y[i]); } for (i=0;i<SIZE;++i){ printf("%4d %10d\n", x[i], y[i]); } fscanf(in, "%lf", &h); printf("%lf\n", h); fclose(in); return(0); }

ReadFile和Overlapped出错

我有ReadFile和重叠的问题。 首先我使用与0重叠的ReadFile ZeroMemory(&overlapped ,sizeof(OVERLAPPED)); hDevice = CreateFileW(zwpath, GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED, NULL); if(hDevice != INVALID_HANDLE_VALUE){ ret = ReadFile(hDevice, buff, 1024, &numerobyte, &overlapped); } 使用for(),我可以使用printf()查看字节 for (int n=0; n<sizeof(buff); n++) { printf("0x%02X ", buff[n]); } 现在我有一个大数字的变种 crbig = 322122547 d1 = (DWORD*)crbig; overlapped.Offset = d1[1]; //22122547 overlapped.OffsetHigh = d1[0];// […]