Tag: 文件 io

txt文件中的第一个字符不能用C打印

我是C的初学者。我正在用c做一个简单的游戏。 我有一个.txt文件存储玩家的分数,如 gse 12 CKY 8 然后我在C中有这个function,该function根据上面的.txt文件输出得分。 int n = 0; int c; int p=0; char name[NAME_LENGTH] = { 0 }; char score[NAME_LENGTH] = { 0 }; FILE *fp = fopen(“scoreBoard.txt”, “r”); if (fp == NULL) { printf(“no score available\n”); fflush(stdin); getchar(); return; } system(“cls”);//clears the screen if (fp){ while((c=getc(fp)!=EOF)){ if(n%2==0){ fgets(name,NAME_LENGTH,fp); printf(“%d “,n/2+1); //index […]

在文件解析中使用fgets()

我有一个包含几行的文件。 我正在对文件进行标记,如果标记包含.word ,我想将该行的其余部分存储在c-string中。 所以如果: array: .word 0:10我想将0:10存储在一个c-string中。 我正在做以下事情: if (strstr(token, “.word”)) { char data_line[MAX_LINE_LENGTH + 1]; int word_ret = fgets(data_line, MAX_LINE_LENGTH, fptr); printf(“.word is %s\n”, data_line); } 这个问题是fgets()抓住下一行。 我如何获取当前行的剩余部分? 那可能吗? 谢谢,

如何使用MATLAB fread读取txt文件?

我尝试使用fread来读取文本文件 我的代码只有2行 fid = fopen(‘1.txt’, ‘r’); c = fread(fid,’double’, skipvalue); 我测试了不同的格式,如double,float32,float64和不同的skipvalue从0到8,但没有一个组合工作。 数据由交流程序代码fprintf(文件,“%f \ n”,sample [i])记录; 样本数据(每行只有一个数据) -0.992224 0.932078 -0.474954 -0.659479 -0.994677 -0.380766 -0.643983 0.425023

如何在大型输入集中更快地在C中进行这种排序程序

对于非常大的输入文件数据,此排序代码会失败,因为它需要很长时间才能完成。 rewind(ptr); j=0; while(( fread(&temp,sizeof(temp),1,ptr)==1) &&( j!=lines-1)) //read object by object { i=j+1; while(fread(&temp1,sizeof(temp),1,ptr)==1) //read next object , to compare previous object with next object { if(temp.key > temp1.key) //compare key value of object { temp2=temp; //if you don’t want to change records and just want to change keys use three statements temp2.key =temp.key; temp=temp1; […]

使用c检测文件上的重复行

我有一个大约(15000-25000)行(固定大小)的csv文件,我想知道如何使用c语言检测重复的行。 输出的一个例子是这样的: 0123456789;CUST098WZAX;35 我没有记忆或时间限制,所以我想要最简单的解决方案。 谢谢你的帮助。

我应该使用文件描述符或流来读取/写入套接字

设置套接字后,最好在套接字描述符上使用read(2)和write(2)调用,或者使用fdopen(3)将流与套接字描述符关联,然后使用stdio(3)函数? int sfd = socket(PF_INET, SOCK_STREAM, 0); // setup the socket using sfd FILE * stream = fdopen(sfd, “r+”); // use fprintf, fscanf, etc 编辑:我也解密了流 setbuf(stream, NULL) 为了避免像评论中提到的那样冲洗它。 我一直在使用这种方法,因为它允许我重用为FILE *流编写的代码,并且我有能够使用格式字符串的优点。 GNU似乎暗示这是一个好主意。 http://www.gnu.org/software/libc/manual/html_node/Streams-and-File-Descriptors.html 但是,通常当我看到使用套接字的代码时,使用套接字描述符而不是所有操作的流。 使用较低级别的function是否有优势?

使用C,从textFile打印出一个数组

我正在尝试创建一个从纺织品中读取的代码,然后将数据存储到内存中,打印到屏幕上以便用户可以读取它,但它仍然保存在内存中,以便您可以将其用于其余部分该计划.. 这是纺织品的样本 75 nevermind nvm not much nm no problem np people ppl talk to you later ttyl because cuz i don’t know idk as soon as possible asap yeah ya how are you hru you 列表继续,它总共有150个单词,如果包含第一个数字,则为151行。 75用于告诉你有多少对。 无论如何,这是我到目前为止编写的代码,它使用这个结构 typedef struct { char *English; char *TextSpeak; }Pair; 我到目前为止编写的代码是: FILE *infile =fopen(“dictionary.txt”,”r”); int phraseCounter; fscanf(infile, “%i”, […]

Python版本的freopen()

python中有什么东西可以在C或C ++中复制freopen()的function吗? 确切地说,我想复制以下function: freopen(“input.txt”,”r”,stdin); 和 freopen(“output.txt”,”w”,stdout); 然后对文件I / O使用相同(标准)的控制台I / O函数。 有任何想法吗?

fwrite和写入大小的性能

我正在写一个大型数字二维数组到二进制文件(最终大小~75 MB)。 我在linux系统上这样做。 首先,有没有比fwrite更好的方法或系统调用来尽可能快地写入文件? 第二,如果我应该使用fwrite,那么我应该把整个文件写成1个连续的行吗? fwrite( buf, sizeof(float), 6700*6700, fp ); 或者把它写成一系列的块 fwrite( buf, sizeof(float), 8192, fp ); fwrite( *(buf+8192), sizeof(float), 8192, fp ); …. 如果我应该写下这些文字,那么每个文章应该有多大?

何时/为什么使用fscanf()函数是个坏主意?

在一个答案中有一个有趣的声明:“使用fscanf()函数几乎总是一个坏主意,因为它可以在失败时将文件指针留在未知位置。我更喜欢使用fgets()来获取每一行然后是sscanf()那个。“ 您可以扩展使用fgets()和sscanf()读取某些文件的时间/原因可能更好吗?