我尝试过whis方法,但它不起作用有帮助吗? 还有一件事:我需要对csv文件进行一些搜索..当一个搜索建立的单词返回时我需要返回它显示的行。 (抱歉我的英语水平很低) 我的代码在这里:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
#define ROW 20
#define LEN 60
int main(int argc, char *argv[])
{
char search = 'a';
int choice = 0, counter = 0, row = 0, col = 0, i = 0, j = 0;
FILE *data;
data = fopen(argv[2], "r");
if (data == NULL){
printf("\n file opening failed ");
return 1;
}
char c;
while ((c = fgetc(data)) != EOF){
printf("%s", c);
}
答案 0 :(得分:2)
printf("%s", c);
应改为
printf("%c", c);
因为c是char
答案 1 :(得分:0)
我认为最好改变处理文件处理的方式。使用fgets()从文件中读取一行。
char buffer[255] = {0};
data = fopen (argv[2], "r");
if (data == NULL)
{
printf("\n Failed to open file!");
}
else {
while(( fgets( buffer, 255, data )) != NULL)
{
puts(buffer);
/* Some processing */
}
fclose (data);
}
return 0;
从csv文件中缓冲一行后,可以使用strtok()从行中获取特定值。